!pip install kaggle
!mkdir -p ~/.kaggle
!cp kaggle.json ~/.kaggle/
!chmod 600 ~/.kaggle/kaggle.json
!kaggle datasets download -d andrewmvd/road-sign-detection
!unzip road-sign-detection.zip
Requirement already satisfied: kaggle in /usr/local/lib/python3.10/dist-packages (1.6.17) Requirement already satisfied: six>=1.10 in /usr/local/lib/python3.10/dist-packages (from kaggle) (1.16.0) Requirement already satisfied: certifi>=2023.7.22 in /usr/local/lib/python3.10/dist-packages (from kaggle) (2024.8.30) Requirement already satisfied: python-dateutil in /usr/local/lib/python3.10/dist-packages (from kaggle) (2.8.2) Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from kaggle) (2.32.3) Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from kaggle) (4.66.5) Requirement already satisfied: python-slugify in /usr/local/lib/python3.10/dist-packages (from kaggle) (8.0.4) Requirement already satisfied: urllib3 in /usr/local/lib/python3.10/dist-packages (from kaggle) (2.2.3) Requirement already satisfied: bleach in /usr/local/lib/python3.10/dist-packages (from kaggle) (6.1.0) Requirement already satisfied: webencodings in /usr/local/lib/python3.10/dist-packages (from bleach->kaggle) (0.5.1) Requirement already satisfied: text-unidecode>=1.3 in /usr/local/lib/python3.10/dist-packages (from python-slugify->kaggle) (1.3) Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->kaggle) (3.4.0) Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->kaggle) (3.10) cp: cannot stat 'kaggle.json': No such file or directory chmod: cannot access '/root/.kaggle/kaggle.json': No such file or directory Dataset URL: https://www.kaggle.com/datasets/andrewmvd/road-sign-detection License(s): CC0-1.0 Downloading road-sign-detection.zip to /content 99% 217M/218M [00:12<00:00, 23.2MB/s] 100% 218M/218M [00:12<00:00, 18.9MB/s] Archive: road-sign-detection.zip inflating: annotations/road0.xml inflating: annotations/road1.xml inflating: annotations/road10.xml inflating: annotations/road100.xml inflating: annotations/road101.xml inflating: annotations/road102.xml inflating: annotations/road103.xml inflating: annotations/road104.xml inflating: annotations/road105.xml inflating: annotations/road106.xml inflating: annotations/road107.xml inflating: annotations/road108.xml inflating: annotations/road109.xml inflating: annotations/road11.xml inflating: annotations/road110.xml inflating: annotations/road111.xml inflating: annotations/road112.xml inflating: annotations/road113.xml inflating: annotations/road114.xml inflating: annotations/road115.xml inflating: annotations/road116.xml inflating: annotations/road117.xml inflating: annotations/road118.xml inflating: annotations/road119.xml inflating: annotations/road12.xml inflating: annotations/road120.xml inflating: annotations/road121.xml inflating: annotations/road122.xml inflating: annotations/road123.xml inflating: annotations/road124.xml inflating: annotations/road125.xml inflating: annotations/road126.xml inflating: annotations/road127.xml inflating: annotations/road128.xml inflating: annotations/road129.xml inflating: annotations/road13.xml inflating: annotations/road130.xml inflating: annotations/road131.xml inflating: annotations/road132.xml inflating: annotations/road133.xml inflating: annotations/road134.xml inflating: annotations/road135.xml inflating: annotations/road136.xml inflating: annotations/road137.xml inflating: annotations/road138.xml inflating: annotations/road139.xml inflating: annotations/road14.xml inflating: annotations/road140.xml inflating: annotations/road141.xml inflating: annotations/road142.xml inflating: annotations/road143.xml inflating: annotations/road144.xml inflating: annotations/road145.xml inflating: annotations/road146.xml inflating: annotations/road147.xml inflating: annotations/road148.xml inflating: annotations/road149.xml inflating: annotations/road15.xml inflating: annotations/road150.xml inflating: annotations/road151.xml inflating: annotations/road152.xml inflating: annotations/road153.xml inflating: annotations/road154.xml inflating: annotations/road155.xml inflating: annotations/road156.xml inflating: annotations/road157.xml inflating: annotations/road158.xml inflating: annotations/road159.xml inflating: annotations/road16.xml inflating: annotations/road160.xml inflating: annotations/road161.xml inflating: annotations/road162.xml inflating: annotations/road163.xml inflating: annotations/road164.xml inflating: annotations/road165.xml inflating: annotations/road166.xml inflating: annotations/road167.xml inflating: annotations/road168.xml inflating: annotations/road169.xml inflating: annotations/road17.xml inflating: annotations/road170.xml inflating: annotations/road171.xml inflating: annotations/road172.xml inflating: annotations/road173.xml inflating: annotations/road174.xml inflating: annotations/road175.xml inflating: annotations/road176.xml inflating: annotations/road177.xml inflating: annotations/road178.xml inflating: annotations/road179.xml inflating: annotations/road18.xml inflating: annotations/road180.xml inflating: annotations/road181.xml inflating: annotations/road182.xml inflating: annotations/road183.xml inflating: annotations/road184.xml inflating: annotations/road185.xml inflating: annotations/road186.xml inflating: annotations/road187.xml inflating: annotations/road188.xml inflating: annotations/road189.xml inflating: annotations/road19.xml inflating: annotations/road190.xml inflating: annotations/road191.xml inflating: annotations/road192.xml inflating: annotations/road193.xml inflating: annotations/road194.xml inflating: annotations/road195.xml inflating: annotations/road196.xml inflating: annotations/road197.xml inflating: annotations/road198.xml inflating: annotations/road199.xml inflating: annotations/road2.xml inflating: annotations/road20.xml inflating: annotations/road200.xml inflating: annotations/road201.xml inflating: annotations/road202.xml inflating: annotations/road203.xml inflating: annotations/road204.xml inflating: annotations/road205.xml inflating: annotations/road206.xml inflating: annotations/road207.xml inflating: annotations/road208.xml inflating: annotations/road209.xml inflating: annotations/road21.xml inflating: annotations/road210.xml inflating: annotations/road211.xml inflating: annotations/road212.xml inflating: annotations/road213.xml inflating: annotations/road214.xml inflating: annotations/road215.xml inflating: annotations/road216.xml inflating: annotations/road217.xml inflating: annotations/road218.xml inflating: annotations/road219.xml inflating: annotations/road22.xml inflating: annotations/road220.xml inflating: annotations/road221.xml inflating: annotations/road222.xml inflating: annotations/road223.xml inflating: annotations/road224.xml inflating: annotations/road225.xml inflating: annotations/road226.xml inflating: annotations/road227.xml inflating: annotations/road228.xml inflating: annotations/road229.xml inflating: annotations/road23.xml inflating: annotations/road230.xml inflating: annotations/road231.xml inflating: annotations/road232.xml inflating: annotations/road233.xml inflating: annotations/road234.xml inflating: annotations/road235.xml inflating: annotations/road236.xml inflating: annotations/road237.xml inflating: annotations/road238.xml inflating: annotations/road239.xml inflating: annotations/road24.xml inflating: annotations/road240.xml inflating: annotations/road241.xml inflating: annotations/road242.xml inflating: annotations/road243.xml inflating: annotations/road244.xml inflating: annotations/road245.xml inflating: annotations/road246.xml inflating: annotations/road247.xml inflating: annotations/road248.xml inflating: annotations/road249.xml inflating: annotations/road25.xml inflating: annotations/road250.xml inflating: annotations/road251.xml inflating: annotations/road252.xml inflating: annotations/road253.xml inflating: annotations/road254.xml inflating: annotations/road255.xml inflating: annotations/road256.xml inflating: annotations/road257.xml inflating: annotations/road258.xml inflating: annotations/road259.xml inflating: annotations/road26.xml inflating: annotations/road260.xml inflating: annotations/road261.xml inflating: annotations/road262.xml inflating: annotations/road263.xml inflating: annotations/road264.xml inflating: annotations/road265.xml inflating: annotations/road266.xml inflating: annotations/road267.xml inflating: annotations/road268.xml inflating: annotations/road269.xml inflating: annotations/road27.xml inflating: annotations/road270.xml inflating: annotations/road271.xml inflating: annotations/road272.xml inflating: annotations/road273.xml inflating: annotations/road274.xml inflating: annotations/road275.xml inflating: annotations/road276.xml inflating: annotations/road277.xml inflating: annotations/road278.xml inflating: annotations/road279.xml inflating: annotations/road28.xml inflating: annotations/road280.xml inflating: annotations/road281.xml inflating: annotations/road282.xml inflating: annotations/road283.xml inflating: annotations/road284.xml inflating: annotations/road285.xml inflating: annotations/road286.xml inflating: annotations/road287.xml inflating: annotations/road288.xml inflating: annotations/road289.xml inflating: annotations/road29.xml inflating: annotations/road290.xml inflating: annotations/road291.xml inflating: annotations/road292.xml inflating: annotations/road293.xml inflating: annotations/road294.xml inflating: annotations/road295.xml inflating: annotations/road296.xml inflating: annotations/road297.xml inflating: annotations/road298.xml inflating: annotations/road299.xml inflating: annotations/road3.xml inflating: annotations/road30.xml inflating: annotations/road300.xml inflating: annotations/road301.xml inflating: annotations/road302.xml inflating: annotations/road303.xml inflating: annotations/road304.xml inflating: annotations/road305.xml inflating: annotations/road306.xml inflating: annotations/road307.xml inflating: annotations/road308.xml inflating: annotations/road309.xml inflating: annotations/road31.xml inflating: annotations/road310.xml inflating: annotations/road311.xml inflating: annotations/road312.xml inflating: annotations/road313.xml inflating: annotations/road314.xml inflating: annotations/road315.xml inflating: annotations/road316.xml inflating: annotations/road317.xml inflating: annotations/road318.xml inflating: annotations/road319.xml inflating: annotations/road32.xml inflating: annotations/road320.xml inflating: annotations/road321.xml inflating: annotations/road322.xml inflating: annotations/road323.xml inflating: annotations/road324.xml inflating: annotations/road325.xml inflating: annotations/road326.xml inflating: annotations/road327.xml inflating: annotations/road328.xml inflating: annotations/road329.xml inflating: annotations/road33.xml inflating: annotations/road330.xml inflating: annotations/road331.xml inflating: annotations/road332.xml inflating: annotations/road333.xml inflating: annotations/road334.xml inflating: annotations/road335.xml inflating: annotations/road336.xml inflating: annotations/road337.xml inflating: annotations/road338.xml inflating: annotations/road339.xml inflating: annotations/road34.xml inflating: annotations/road340.xml inflating: annotations/road341.xml inflating: annotations/road342.xml inflating: annotations/road343.xml inflating: annotations/road344.xml inflating: annotations/road345.xml inflating: annotations/road346.xml inflating: annotations/road347.xml inflating: annotations/road348.xml inflating: annotations/road349.xml inflating: annotations/road35.xml inflating: annotations/road350.xml inflating: annotations/road351.xml inflating: annotations/road352.xml inflating: annotations/road353.xml inflating: annotations/road354.xml inflating: annotations/road355.xml inflating: annotations/road356.xml inflating: annotations/road357.xml inflating: annotations/road358.xml inflating: annotations/road359.xml inflating: annotations/road36.xml inflating: annotations/road360.xml inflating: annotations/road361.xml inflating: annotations/road362.xml inflating: annotations/road363.xml inflating: annotations/road364.xml inflating: annotations/road365.xml inflating: annotations/road366.xml inflating: annotations/road367.xml inflating: annotations/road368.xml inflating: annotations/road369.xml inflating: annotations/road37.xml inflating: annotations/road370.xml inflating: annotations/road371.xml inflating: annotations/road372.xml inflating: annotations/road373.xml inflating: annotations/road374.xml inflating: annotations/road375.xml inflating: annotations/road376.xml inflating: annotations/road377.xml inflating: annotations/road378.xml inflating: annotations/road379.xml inflating: annotations/road38.xml inflating: annotations/road380.xml inflating: annotations/road381.xml inflating: annotations/road382.xml inflating: annotations/road383.xml inflating: annotations/road384.xml inflating: annotations/road385.xml inflating: annotations/road386.xml inflating: annotations/road387.xml inflating: annotations/road388.xml inflating: annotations/road389.xml inflating: annotations/road39.xml inflating: annotations/road390.xml inflating: annotations/road391.xml inflating: annotations/road392.xml inflating: annotations/road393.xml inflating: annotations/road394.xml inflating: annotations/road395.xml inflating: annotations/road396.xml inflating: annotations/road397.xml inflating: annotations/road398.xml inflating: annotations/road399.xml inflating: annotations/road4.xml inflating: annotations/road40.xml inflating: annotations/road400.xml inflating: annotations/road401.xml inflating: annotations/road402.xml inflating: annotations/road403.xml inflating: annotations/road404.xml inflating: annotations/road405.xml inflating: annotations/road406.xml inflating: annotations/road407.xml inflating: annotations/road408.xml inflating: annotations/road409.xml inflating: annotations/road41.xml inflating: annotations/road410.xml inflating: annotations/road411.xml inflating: annotations/road412.xml inflating: annotations/road413.xml inflating: annotations/road414.xml inflating: annotations/road415.xml inflating: annotations/road416.xml inflating: annotations/road417.xml inflating: annotations/road418.xml inflating: annotations/road419.xml inflating: annotations/road42.xml inflating: annotations/road420.xml inflating: annotations/road421.xml inflating: annotations/road422.xml inflating: annotations/road423.xml inflating: annotations/road424.xml inflating: annotations/road425.xml inflating: annotations/road426.xml inflating: annotations/road427.xml inflating: annotations/road428.xml inflating: annotations/road429.xml inflating: annotations/road43.xml inflating: annotations/road430.xml inflating: annotations/road431.xml inflating: annotations/road432.xml inflating: annotations/road433.xml inflating: annotations/road434.xml inflating: annotations/road435.xml inflating: annotations/road436.xml inflating: annotations/road437.xml inflating: annotations/road438.xml inflating: annotations/road439.xml inflating: annotations/road44.xml inflating: annotations/road440.xml inflating: annotations/road441.xml inflating: annotations/road442.xml inflating: annotations/road443.xml inflating: annotations/road444.xml inflating: annotations/road445.xml inflating: annotations/road446.xml inflating: annotations/road447.xml inflating: annotations/road448.xml inflating: annotations/road449.xml inflating: annotations/road45.xml inflating: annotations/road450.xml inflating: annotations/road451.xml inflating: annotations/road452.xml inflating: annotations/road453.xml inflating: annotations/road454.xml inflating: annotations/road455.xml inflating: annotations/road456.xml inflating: annotations/road457.xml inflating: annotations/road458.xml inflating: annotations/road459.xml inflating: annotations/road46.xml inflating: annotations/road460.xml inflating: annotations/road461.xml inflating: annotations/road462.xml inflating: annotations/road463.xml inflating: annotations/road464.xml inflating: annotations/road465.xml inflating: annotations/road466.xml inflating: annotations/road467.xml inflating: annotations/road468.xml inflating: annotations/road469.xml inflating: annotations/road47.xml inflating: annotations/road470.xml inflating: annotations/road471.xml inflating: annotations/road472.xml inflating: annotations/road473.xml inflating: annotations/road474.xml inflating: annotations/road475.xml inflating: annotations/road476.xml inflating: annotations/road477.xml inflating: annotations/road478.xml inflating: annotations/road479.xml inflating: annotations/road48.xml inflating: annotations/road480.xml inflating: annotations/road481.xml inflating: annotations/road482.xml inflating: annotations/road483.xml inflating: annotations/road484.xml inflating: annotations/road485.xml inflating: annotations/road486.xml inflating: annotations/road487.xml inflating: annotations/road488.xml inflating: annotations/road489.xml inflating: annotations/road49.xml inflating: annotations/road490.xml inflating: annotations/road491.xml inflating: annotations/road492.xml inflating: annotations/road493.xml inflating: annotations/road494.xml inflating: annotations/road495.xml inflating: annotations/road496.xml inflating: annotations/road497.xml inflating: annotations/road498.xml inflating: annotations/road499.xml inflating: annotations/road5.xml inflating: annotations/road50.xml inflating: annotations/road500.xml inflating: annotations/road501.xml inflating: annotations/road502.xml inflating: annotations/road503.xml inflating: annotations/road504.xml inflating: annotations/road505.xml inflating: annotations/road506.xml inflating: annotations/road507.xml inflating: annotations/road508.xml inflating: annotations/road509.xml inflating: annotations/road51.xml inflating: annotations/road510.xml inflating: annotations/road511.xml inflating: annotations/road512.xml inflating: annotations/road513.xml inflating: annotations/road514.xml inflating: annotations/road515.xml inflating: annotations/road516.xml inflating: annotations/road517.xml inflating: annotations/road518.xml inflating: annotations/road519.xml inflating: annotations/road52.xml inflating: annotations/road520.xml inflating: annotations/road521.xml inflating: annotations/road522.xml inflating: annotations/road523.xml inflating: annotations/road524.xml inflating: annotations/road525.xml inflating: annotations/road526.xml inflating: annotations/road527.xml inflating: annotations/road528.xml inflating: annotations/road529.xml inflating: annotations/road53.xml inflating: annotations/road530.xml inflating: annotations/road531.xml inflating: annotations/road532.xml inflating: annotations/road533.xml inflating: annotations/road534.xml inflating: annotations/road535.xml inflating: annotations/road536.xml inflating: annotations/road537.xml inflating: annotations/road538.xml inflating: annotations/road539.xml inflating: annotations/road54.xml inflating: annotations/road540.xml inflating: annotations/road541.xml inflating: annotations/road542.xml inflating: annotations/road543.xml inflating: annotations/road544.xml inflating: annotations/road545.xml inflating: annotations/road546.xml inflating: annotations/road547.xml inflating: annotations/road548.xml inflating: annotations/road549.xml inflating: annotations/road55.xml inflating: annotations/road550.xml inflating: annotations/road551.xml inflating: annotations/road552.xml inflating: annotations/road553.xml inflating: annotations/road554.xml inflating: annotations/road555.xml inflating: annotations/road556.xml inflating: annotations/road557.xml inflating: annotations/road558.xml inflating: annotations/road559.xml inflating: annotations/road56.xml inflating: annotations/road560.xml inflating: annotations/road561.xml inflating: annotations/road562.xml inflating: annotations/road563.xml inflating: annotations/road564.xml inflating: annotations/road565.xml inflating: annotations/road566.xml inflating: annotations/road567.xml inflating: annotations/road568.xml inflating: annotations/road569.xml inflating: annotations/road57.xml inflating: annotations/road570.xml inflating: annotations/road571.xml inflating: annotations/road572.xml inflating: annotations/road573.xml inflating: annotations/road574.xml inflating: annotations/road575.xml inflating: annotations/road576.xml inflating: annotations/road577.xml inflating: annotations/road578.xml inflating: annotations/road579.xml inflating: annotations/road58.xml inflating: annotations/road580.xml inflating: annotations/road581.xml inflating: annotations/road582.xml inflating: annotations/road583.xml inflating: annotations/road584.xml inflating: annotations/road585.xml inflating: annotations/road586.xml inflating: annotations/road587.xml inflating: annotations/road588.xml inflating: annotations/road589.xml inflating: annotations/road59.xml inflating: annotations/road590.xml inflating: annotations/road591.xml inflating: annotations/road592.xml inflating: annotations/road593.xml inflating: annotations/road594.xml inflating: annotations/road595.xml inflating: annotations/road596.xml inflating: annotations/road597.xml inflating: annotations/road598.xml inflating: annotations/road599.xml inflating: annotations/road6.xml inflating: annotations/road60.xml inflating: annotations/road600.xml inflating: annotations/road601.xml inflating: annotations/road602.xml inflating: annotations/road603.xml inflating: annotations/road604.xml inflating: annotations/road605.xml inflating: annotations/road606.xml inflating: annotations/road607.xml inflating: annotations/road608.xml inflating: annotations/road609.xml inflating: annotations/road61.xml inflating: annotations/road610.xml inflating: annotations/road611.xml inflating: annotations/road612.xml inflating: annotations/road613.xml inflating: annotations/road614.xml inflating: annotations/road615.xml inflating: annotations/road616.xml inflating: annotations/road617.xml inflating: annotations/road618.xml inflating: annotations/road619.xml inflating: annotations/road62.xml inflating: annotations/road620.xml inflating: annotations/road621.xml inflating: annotations/road622.xml inflating: annotations/road623.xml inflating: annotations/road624.xml inflating: annotations/road625.xml inflating: annotations/road626.xml inflating: annotations/road627.xml inflating: annotations/road628.xml inflating: annotations/road629.xml inflating: annotations/road63.xml inflating: annotations/road630.xml inflating: annotations/road631.xml inflating: annotations/road632.xml inflating: annotations/road633.xml inflating: annotations/road634.xml inflating: annotations/road635.xml inflating: annotations/road636.xml inflating: annotations/road637.xml inflating: annotations/road638.xml inflating: annotations/road639.xml inflating: annotations/road64.xml inflating: annotations/road640.xml inflating: annotations/road641.xml inflating: annotations/road642.xml inflating: annotations/road643.xml inflating: annotations/road644.xml inflating: annotations/road645.xml inflating: annotations/road646.xml inflating: annotations/road647.xml inflating: annotations/road648.xml inflating: annotations/road649.xml inflating: annotations/road65.xml inflating: annotations/road650.xml inflating: annotations/road651.xml inflating: annotations/road652.xml inflating: annotations/road653.xml inflating: annotations/road654.xml inflating: annotations/road655.xml inflating: annotations/road656.xml inflating: annotations/road657.xml inflating: annotations/road658.xml inflating: annotations/road659.xml inflating: annotations/road66.xml inflating: annotations/road660.xml inflating: annotations/road661.xml inflating: annotations/road662.xml inflating: annotations/road663.xml inflating: annotations/road664.xml inflating: annotations/road665.xml inflating: annotations/road666.xml inflating: annotations/road667.xml inflating: annotations/road668.xml inflating: annotations/road669.xml inflating: annotations/road67.xml inflating: annotations/road670.xml inflating: annotations/road671.xml inflating: annotations/road672.xml inflating: annotations/road673.xml inflating: annotations/road674.xml inflating: annotations/road675.xml inflating: annotations/road676.xml inflating: annotations/road677.xml inflating: annotations/road678.xml inflating: annotations/road679.xml inflating: annotations/road68.xml inflating: annotations/road680.xml inflating: annotations/road681.xml inflating: annotations/road682.xml inflating: annotations/road683.xml inflating: annotations/road684.xml inflating: annotations/road685.xml inflating: annotations/road686.xml inflating: annotations/road687.xml inflating: annotations/road688.xml inflating: annotations/road689.xml inflating: annotations/road69.xml inflating: annotations/road690.xml inflating: annotations/road691.xml inflating: annotations/road692.xml inflating: annotations/road693.xml inflating: annotations/road694.xml inflating: annotations/road695.xml inflating: annotations/road696.xml inflating: annotations/road697.xml inflating: annotations/road698.xml inflating: annotations/road699.xml inflating: annotations/road7.xml inflating: annotations/road70.xml inflating: annotations/road700.xml inflating: annotations/road701.xml inflating: annotations/road702.xml inflating: annotations/road703.xml inflating: annotations/road704.xml inflating: annotations/road705.xml inflating: annotations/road706.xml inflating: annotations/road707.xml inflating: annotations/road708.xml inflating: annotations/road709.xml inflating: annotations/road71.xml inflating: annotations/road710.xml inflating: annotations/road711.xml inflating: annotations/road712.xml inflating: annotations/road713.xml inflating: annotations/road714.xml inflating: annotations/road715.xml inflating: annotations/road716.xml inflating: annotations/road717.xml inflating: annotations/road718.xml inflating: annotations/road719.xml inflating: annotations/road72.xml inflating: annotations/road720.xml inflating: annotations/road721.xml inflating: annotations/road722.xml inflating: annotations/road723.xml inflating: annotations/road724.xml inflating: annotations/road725.xml inflating: annotations/road726.xml inflating: annotations/road727.xml inflating: annotations/road728.xml inflating: annotations/road729.xml inflating: annotations/road73.xml inflating: annotations/road730.xml inflating: annotations/road731.xml inflating: annotations/road732.xml inflating: annotations/road733.xml inflating: annotations/road734.xml inflating: annotations/road735.xml inflating: annotations/road736.xml inflating: annotations/road737.xml inflating: annotations/road738.xml inflating: annotations/road739.xml inflating: annotations/road74.xml inflating: annotations/road740.xml inflating: annotations/road741.xml inflating: annotations/road742.xml inflating: annotations/road743.xml inflating: annotations/road744.xml inflating: annotations/road745.xml inflating: annotations/road746.xml inflating: annotations/road747.xml inflating: annotations/road748.xml inflating: annotations/road749.xml inflating: annotations/road75.xml inflating: annotations/road750.xml inflating: annotations/road751.xml inflating: annotations/road752.xml inflating: annotations/road753.xml inflating: annotations/road754.xml inflating: annotations/road755.xml inflating: annotations/road756.xml inflating: annotations/road757.xml inflating: annotations/road758.xml inflating: annotations/road759.xml inflating: annotations/road76.xml inflating: annotations/road760.xml inflating: annotations/road761.xml inflating: annotations/road762.xml inflating: annotations/road763.xml inflating: annotations/road764.xml inflating: annotations/road765.xml inflating: annotations/road766.xml inflating: annotations/road767.xml inflating: annotations/road768.xml inflating: annotations/road769.xml inflating: annotations/road77.xml inflating: annotations/road770.xml inflating: annotations/road771.xml inflating: annotations/road772.xml inflating: annotations/road773.xml inflating: annotations/road774.xml inflating: annotations/road775.xml inflating: annotations/road776.xml inflating: annotations/road777.xml inflating: annotations/road778.xml inflating: annotations/road779.xml inflating: annotations/road78.xml inflating: annotations/road780.xml inflating: annotations/road781.xml inflating: annotations/road782.xml inflating: annotations/road783.xml inflating: annotations/road784.xml inflating: annotations/road785.xml inflating: annotations/road786.xml inflating: annotations/road787.xml inflating: annotations/road788.xml inflating: annotations/road789.xml inflating: annotations/road79.xml inflating: annotations/road790.xml inflating: annotations/road791.xml inflating: annotations/road792.xml inflating: annotations/road793.xml inflating: annotations/road794.xml inflating: annotations/road795.xml inflating: annotations/road796.xml inflating: annotations/road797.xml inflating: annotations/road798.xml inflating: annotations/road799.xml inflating: annotations/road8.xml inflating: annotations/road80.xml inflating: annotations/road800.xml inflating: annotations/road801.xml inflating: annotations/road802.xml inflating: annotations/road803.xml inflating: annotations/road804.xml inflating: annotations/road805.xml inflating: annotations/road806.xml inflating: annotations/road807.xml inflating: annotations/road808.xml inflating: annotations/road809.xml inflating: annotations/road81.xml inflating: annotations/road810.xml inflating: annotations/road811.xml inflating: annotations/road812.xml inflating: annotations/road813.xml inflating: annotations/road814.xml inflating: annotations/road815.xml inflating: annotations/road816.xml inflating: annotations/road817.xml inflating: annotations/road818.xml inflating: annotations/road819.xml inflating: annotations/road82.xml inflating: annotations/road820.xml inflating: annotations/road821.xml inflating: annotations/road822.xml inflating: annotations/road823.xml inflating: annotations/road824.xml inflating: annotations/road825.xml inflating: annotations/road826.xml inflating: annotations/road827.xml inflating: annotations/road828.xml inflating: annotations/road829.xml inflating: annotations/road83.xml inflating: annotations/road830.xml inflating: annotations/road831.xml inflating: annotations/road832.xml inflating: annotations/road833.xml inflating: annotations/road834.xml inflating: annotations/road835.xml inflating: annotations/road836.xml inflating: annotations/road837.xml inflating: annotations/road838.xml inflating: annotations/road839.xml inflating: annotations/road84.xml inflating: annotations/road840.xml inflating: annotations/road841.xml inflating: annotations/road842.xml inflating: annotations/road843.xml inflating: annotations/road844.xml inflating: annotations/road845.xml inflating: annotations/road846.xml inflating: annotations/road847.xml inflating: annotations/road848.xml inflating: annotations/road849.xml inflating: annotations/road85.xml inflating: annotations/road850.xml inflating: annotations/road851.xml inflating: annotations/road852.xml inflating: annotations/road853.xml inflating: annotations/road854.xml inflating: annotations/road855.xml inflating: annotations/road856.xml inflating: annotations/road857.xml inflating: annotations/road858.xml inflating: annotations/road859.xml inflating: annotations/road86.xml inflating: annotations/road860.xml inflating: annotations/road861.xml inflating: annotations/road862.xml inflating: annotations/road863.xml inflating: annotations/road864.xml inflating: annotations/road865.xml inflating: annotations/road866.xml inflating: annotations/road867.xml inflating: annotations/road868.xml inflating: annotations/road869.xml inflating: annotations/road87.xml inflating: annotations/road870.xml inflating: annotations/road871.xml inflating: annotations/road872.xml inflating: annotations/road873.xml inflating: annotations/road874.xml inflating: annotations/road875.xml inflating: annotations/road876.xml inflating: annotations/road88.xml inflating: annotations/road89.xml inflating: annotations/road9.xml inflating: annotations/road90.xml inflating: annotations/road91.xml inflating: annotations/road92.xml inflating: annotations/road93.xml inflating: annotations/road94.xml inflating: annotations/road95.xml inflating: annotations/road96.xml inflating: annotations/road97.xml inflating: annotations/road98.xml inflating: annotations/road99.xml inflating: images/road0.png inflating: images/road1.png inflating: images/road10.png inflating: images/road100.png inflating: images/road101.png inflating: images/road102.png inflating: images/road103.png inflating: images/road104.png inflating: images/road105.png inflating: images/road106.png inflating: images/road107.png inflating: images/road108.png inflating: images/road109.png inflating: images/road11.png inflating: images/road110.png inflating: images/road111.png inflating: images/road112.png inflating: images/road113.png inflating: images/road114.png inflating: images/road115.png inflating: images/road116.png inflating: images/road117.png inflating: images/road118.png inflating: images/road119.png inflating: images/road12.png inflating: images/road120.png inflating: images/road121.png inflating: images/road122.png inflating: images/road123.png inflating: images/road124.png inflating: images/road125.png inflating: images/road126.png inflating: images/road127.png inflating: images/road128.png inflating: images/road129.png inflating: images/road13.png inflating: images/road130.png inflating: images/road131.png inflating: images/road132.png inflating: images/road133.png inflating: images/road134.png inflating: images/road135.png inflating: images/road136.png inflating: images/road137.png inflating: images/road138.png inflating: images/road139.png inflating: images/road14.png inflating: images/road140.png inflating: images/road141.png inflating: images/road142.png inflating: images/road143.png inflating: images/road144.png inflating: images/road145.png inflating: images/road146.png inflating: images/road147.png inflating: images/road148.png inflating: images/road149.png inflating: images/road15.png inflating: images/road150.png inflating: images/road151.png inflating: images/road152.png inflating: images/road153.png inflating: images/road154.png inflating: images/road155.png inflating: images/road156.png inflating: images/road157.png inflating: images/road158.png inflating: images/road159.png inflating: images/road16.png inflating: images/road160.png inflating: images/road161.png inflating: images/road162.png inflating: images/road163.png inflating: images/road164.png inflating: images/road165.png inflating: images/road166.png inflating: images/road167.png inflating: images/road168.png inflating: images/road169.png inflating: images/road17.png inflating: images/road170.png inflating: images/road171.png inflating: images/road172.png inflating: images/road173.png inflating: images/road174.png inflating: images/road175.png inflating: images/road176.png inflating: images/road177.png inflating: images/road178.png inflating: images/road179.png inflating: images/road18.png inflating: images/road180.png inflating: images/road181.png inflating: images/road182.png inflating: images/road183.png inflating: images/road184.png inflating: images/road185.png inflating: images/road186.png inflating: images/road187.png inflating: images/road188.png inflating: images/road189.png inflating: images/road19.png inflating: images/road190.png inflating: images/road191.png inflating: images/road192.png inflating: images/road193.png inflating: images/road194.png inflating: images/road195.png inflating: images/road196.png inflating: images/road197.png inflating: images/road198.png inflating: images/road199.png inflating: images/road2.png inflating: images/road20.png inflating: images/road200.png inflating: images/road201.png inflating: images/road202.png inflating: images/road203.png inflating: images/road204.png inflating: images/road205.png inflating: images/road206.png inflating: images/road207.png inflating: images/road208.png inflating: images/road209.png inflating: images/road21.png inflating: images/road210.png inflating: images/road211.png inflating: images/road212.png inflating: images/road213.png inflating: images/road214.png inflating: images/road215.png inflating: images/road216.png inflating: images/road217.png inflating: images/road218.png inflating: images/road219.png inflating: images/road22.png inflating: images/road220.png inflating: images/road221.png inflating: images/road222.png inflating: images/road223.png inflating: images/road224.png inflating: images/road225.png inflating: images/road226.png inflating: images/road227.png inflating: images/road228.png inflating: images/road229.png inflating: images/road23.png inflating: images/road230.png inflating: images/road231.png inflating: images/road232.png inflating: images/road233.png inflating: images/road234.png inflating: images/road235.png inflating: images/road236.png inflating: images/road237.png inflating: images/road238.png inflating: images/road239.png inflating: images/road24.png inflating: images/road240.png inflating: images/road241.png inflating: images/road242.png inflating: images/road243.png inflating: images/road244.png inflating: images/road245.png inflating: images/road246.png inflating: images/road247.png inflating: images/road248.png inflating: images/road249.png inflating: images/road25.png inflating: images/road250.png inflating: images/road251.png inflating: images/road252.png inflating: images/road253.png inflating: images/road254.png inflating: images/road255.png inflating: images/road256.png inflating: images/road257.png inflating: images/road258.png inflating: images/road259.png inflating: images/road26.png inflating: images/road260.png inflating: images/road261.png inflating: images/road262.png inflating: images/road263.png inflating: images/road264.png inflating: images/road265.png inflating: images/road266.png inflating: images/road267.png inflating: images/road268.png inflating: images/road269.png inflating: images/road27.png inflating: images/road270.png inflating: images/road271.png inflating: images/road272.png inflating: images/road273.png inflating: images/road274.png inflating: images/road275.png inflating: images/road276.png inflating: images/road277.png inflating: images/road278.png inflating: images/road279.png inflating: images/road28.png inflating: images/road280.png inflating: images/road281.png inflating: images/road282.png inflating: images/road283.png inflating: images/road284.png inflating: images/road285.png inflating: images/road286.png inflating: images/road287.png inflating: images/road288.png inflating: images/road289.png inflating: images/road29.png inflating: images/road290.png inflating: images/road291.png inflating: images/road292.png inflating: images/road293.png inflating: images/road294.png inflating: images/road295.png inflating: images/road296.png inflating: images/road297.png inflating: images/road298.png inflating: images/road299.png inflating: images/road3.png inflating: images/road30.png inflating: images/road300.png inflating: images/road301.png inflating: images/road302.png inflating: images/road303.png inflating: images/road304.png inflating: images/road305.png inflating: images/road306.png inflating: images/road307.png inflating: images/road308.png inflating: images/road309.png inflating: images/road31.png inflating: images/road310.png inflating: images/road311.png inflating: images/road312.png inflating: images/road313.png inflating: images/road314.png inflating: images/road315.png inflating: images/road316.png inflating: images/road317.png inflating: images/road318.png inflating: images/road319.png inflating: images/road32.png inflating: images/road320.png inflating: images/road321.png inflating: images/road322.png inflating: images/road323.png inflating: images/road324.png inflating: images/road325.png inflating: images/road326.png inflating: images/road327.png inflating: images/road328.png inflating: images/road329.png inflating: images/road33.png inflating: images/road330.png inflating: images/road331.png inflating: images/road332.png inflating: images/road333.png inflating: images/road334.png inflating: images/road335.png inflating: images/road336.png inflating: images/road337.png inflating: images/road338.png inflating: images/road339.png inflating: images/road34.png inflating: images/road340.png inflating: images/road341.png inflating: images/road342.png inflating: images/road343.png inflating: images/road344.png inflating: images/road345.png inflating: images/road346.png inflating: images/road347.png inflating: images/road348.png inflating: images/road349.png inflating: images/road35.png inflating: images/road350.png inflating: images/road351.png inflating: images/road352.png inflating: images/road353.png inflating: images/road354.png inflating: images/road355.png inflating: images/road356.png inflating: images/road357.png inflating: images/road358.png inflating: images/road359.png inflating: images/road36.png inflating: images/road360.png inflating: images/road361.png inflating: images/road362.png inflating: images/road363.png inflating: images/road364.png inflating: images/road365.png inflating: images/road366.png inflating: images/road367.png inflating: images/road368.png inflating: images/road369.png inflating: images/road37.png inflating: images/road370.png inflating: images/road371.png inflating: images/road372.png inflating: images/road373.png inflating: images/road374.png inflating: images/road375.png inflating: images/road376.png inflating: images/road377.png inflating: images/road378.png inflating: images/road379.png inflating: images/road38.png inflating: images/road380.png inflating: images/road381.png inflating: images/road382.png inflating: images/road383.png inflating: images/road384.png inflating: images/road385.png inflating: images/road386.png inflating: images/road387.png inflating: images/road388.png inflating: images/road389.png inflating: images/road39.png inflating: images/road390.png inflating: images/road391.png inflating: images/road392.png inflating: images/road393.png inflating: images/road394.png inflating: images/road395.png inflating: images/road396.png inflating: images/road397.png inflating: images/road398.png inflating: images/road399.png inflating: images/road4.png inflating: images/road40.png inflating: images/road400.png inflating: images/road401.png inflating: images/road402.png inflating: images/road403.png inflating: images/road404.png inflating: images/road405.png inflating: images/road406.png inflating: images/road407.png inflating: images/road408.png inflating: images/road409.png inflating: images/road41.png inflating: images/road410.png inflating: images/road411.png inflating: images/road412.png inflating: images/road413.png inflating: images/road414.png inflating: images/road415.png inflating: images/road416.png inflating: images/road417.png inflating: images/road418.png inflating: images/road419.png inflating: images/road42.png inflating: images/road420.png inflating: images/road421.png inflating: images/road422.png inflating: images/road423.png inflating: images/road424.png inflating: images/road425.png inflating: images/road426.png inflating: images/road427.png inflating: images/road428.png inflating: images/road429.png inflating: images/road43.png inflating: images/road430.png inflating: images/road431.png inflating: images/road432.png inflating: images/road433.png inflating: images/road434.png inflating: images/road435.png inflating: images/road436.png inflating: images/road437.png inflating: images/road438.png inflating: images/road439.png inflating: images/road44.png inflating: images/road440.png inflating: images/road441.png inflating: images/road442.png inflating: images/road443.png inflating: images/road444.png inflating: images/road445.png inflating: images/road446.png inflating: images/road447.png inflating: images/road448.png inflating: images/road449.png inflating: images/road45.png inflating: images/road450.png inflating: images/road451.png inflating: images/road452.png inflating: images/road453.png inflating: images/road454.png inflating: images/road455.png inflating: images/road456.png inflating: images/road457.png inflating: images/road458.png inflating: images/road459.png inflating: images/road46.png inflating: images/road460.png inflating: images/road461.png inflating: images/road462.png inflating: images/road463.png inflating: images/road464.png inflating: images/road465.png inflating: images/road466.png inflating: images/road467.png inflating: images/road468.png inflating: images/road469.png inflating: images/road47.png inflating: images/road470.png inflating: images/road471.png inflating: images/road472.png inflating: images/road473.png inflating: images/road474.png inflating: images/road475.png inflating: images/road476.png inflating: images/road477.png inflating: images/road478.png inflating: images/road479.png inflating: images/road48.png inflating: images/road480.png inflating: images/road481.png inflating: images/road482.png inflating: images/road483.png inflating: images/road484.png inflating: images/road485.png inflating: images/road486.png inflating: images/road487.png inflating: images/road488.png inflating: images/road489.png inflating: images/road49.png inflating: images/road490.png inflating: images/road491.png inflating: images/road492.png inflating: images/road493.png inflating: images/road494.png inflating: images/road495.png inflating: images/road496.png inflating: images/road497.png inflating: images/road498.png inflating: images/road499.png inflating: images/road5.png inflating: images/road50.png inflating: images/road500.png inflating: images/road501.png inflating: images/road502.png inflating: images/road503.png inflating: images/road504.png inflating: images/road505.png inflating: images/road506.png inflating: images/road507.png inflating: images/road508.png inflating: images/road509.png inflating: images/road51.png inflating: images/road510.png inflating: images/road511.png inflating: images/road512.png inflating: images/road513.png inflating: images/road514.png inflating: images/road515.png inflating: images/road516.png inflating: images/road517.png inflating: images/road518.png inflating: images/road519.png inflating: images/road52.png inflating: images/road520.png inflating: images/road521.png inflating: images/road522.png inflating: images/road523.png inflating: images/road524.png inflating: images/road525.png inflating: images/road526.png inflating: images/road527.png inflating: images/road528.png inflating: images/road529.png inflating: images/road53.png inflating: images/road530.png inflating: images/road531.png inflating: images/road532.png inflating: images/road533.png inflating: images/road534.png inflating: images/road535.png inflating: images/road536.png inflating: images/road537.png inflating: images/road538.png inflating: images/road539.png inflating: images/road54.png inflating: images/road540.png inflating: images/road541.png inflating: images/road542.png inflating: images/road543.png inflating: images/road544.png inflating: images/road545.png inflating: images/road546.png inflating: images/road547.png inflating: images/road548.png inflating: images/road549.png inflating: images/road55.png inflating: images/road550.png inflating: images/road551.png inflating: images/road552.png inflating: images/road553.png inflating: images/road554.png inflating: images/road555.png inflating: images/road556.png inflating: images/road557.png inflating: images/road558.png inflating: images/road559.png inflating: images/road56.png inflating: images/road560.png inflating: images/road561.png inflating: images/road562.png inflating: images/road563.png inflating: images/road564.png inflating: images/road565.png inflating: images/road566.png inflating: images/road567.png inflating: images/road568.png inflating: images/road569.png inflating: images/road57.png inflating: images/road570.png inflating: images/road571.png inflating: images/road572.png inflating: images/road573.png inflating: images/road574.png inflating: images/road575.png inflating: images/road576.png inflating: images/road577.png inflating: images/road578.png inflating: images/road579.png inflating: images/road58.png inflating: images/road580.png inflating: images/road581.png inflating: images/road582.png inflating: images/road583.png inflating: images/road584.png inflating: images/road585.png inflating: images/road586.png inflating: images/road587.png inflating: images/road588.png inflating: images/road589.png inflating: images/road59.png inflating: images/road590.png inflating: images/road591.png inflating: images/road592.png inflating: images/road593.png inflating: images/road594.png inflating: images/road595.png inflating: images/road596.png inflating: images/road597.png inflating: images/road598.png inflating: images/road599.png inflating: images/road6.png inflating: images/road60.png inflating: images/road600.png inflating: images/road601.png inflating: images/road602.png inflating: images/road603.png inflating: images/road604.png inflating: images/road605.png inflating: images/road606.png inflating: images/road607.png inflating: images/road608.png inflating: images/road609.png inflating: images/road61.png inflating: images/road610.png inflating: images/road611.png inflating: images/road612.png inflating: images/road613.png inflating: images/road614.png inflating: images/road615.png inflating: images/road616.png inflating: images/road617.png inflating: images/road618.png inflating: images/road619.png inflating: images/road62.png inflating: images/road620.png inflating: images/road621.png inflating: images/road622.png inflating: images/road623.png inflating: images/road624.png inflating: images/road625.png inflating: images/road626.png inflating: images/road627.png inflating: images/road628.png inflating: images/road629.png inflating: images/road63.png inflating: images/road630.png inflating: images/road631.png inflating: images/road632.png inflating: images/road633.png inflating: images/road634.png inflating: images/road635.png inflating: images/road636.png inflating: images/road637.png inflating: images/road638.png inflating: images/road639.png inflating: images/road64.png inflating: images/road640.png inflating: images/road641.png inflating: images/road642.png inflating: images/road643.png inflating: images/road644.png inflating: images/road645.png inflating: images/road646.png inflating: images/road647.png inflating: images/road648.png inflating: images/road649.png inflating: images/road65.png inflating: images/road650.png inflating: images/road651.png inflating: images/road652.png inflating: images/road653.png inflating: images/road654.png inflating: images/road655.png inflating: images/road656.png inflating: images/road657.png inflating: images/road658.png inflating: images/road659.png inflating: images/road66.png inflating: images/road660.png inflating: images/road661.png inflating: images/road662.png inflating: images/road663.png inflating: images/road664.png inflating: images/road665.png inflating: images/road666.png inflating: images/road667.png inflating: images/road668.png inflating: images/road669.png inflating: images/road67.png inflating: images/road670.png inflating: images/road671.png inflating: images/road672.png inflating: images/road673.png inflating: images/road674.png inflating: images/road675.png inflating: images/road676.png inflating: images/road677.png inflating: images/road678.png inflating: images/road679.png inflating: images/road68.png inflating: images/road680.png inflating: images/road681.png inflating: images/road682.png inflating: images/road683.png inflating: images/road684.png inflating: images/road685.png inflating: images/road686.png inflating: images/road687.png inflating: images/road688.png inflating: images/road689.png inflating: images/road69.png inflating: images/road690.png inflating: images/road691.png inflating: images/road692.png inflating: images/road693.png inflating: images/road694.png inflating: images/road695.png inflating: images/road696.png inflating: images/road697.png inflating: images/road698.png inflating: images/road699.png inflating: images/road7.png inflating: images/road70.png inflating: images/road700.png inflating: images/road701.png inflating: images/road702.png inflating: images/road703.png inflating: images/road704.png inflating: images/road705.png inflating: images/road706.png inflating: images/road707.png inflating: images/road708.png inflating: images/road709.png inflating: images/road71.png inflating: images/road710.png inflating: images/road711.png inflating: images/road712.png inflating: images/road713.png inflating: images/road714.png inflating: images/road715.png inflating: images/road716.png inflating: images/road717.png inflating: images/road718.png inflating: images/road719.png inflating: images/road72.png inflating: images/road720.png inflating: images/road721.png inflating: images/road722.png inflating: images/road723.png inflating: images/road724.png inflating: images/road725.png inflating: images/road726.png inflating: images/road727.png inflating: images/road728.png inflating: images/road729.png inflating: images/road73.png inflating: images/road730.png inflating: images/road731.png inflating: images/road732.png inflating: images/road733.png inflating: images/road734.png inflating: images/road735.png inflating: images/road736.png inflating: images/road737.png inflating: images/road738.png inflating: images/road739.png inflating: images/road74.png inflating: images/road740.png inflating: images/road741.png inflating: images/road742.png inflating: images/road743.png inflating: images/road744.png inflating: images/road745.png inflating: images/road746.png inflating: images/road747.png inflating: images/road748.png inflating: images/road749.png inflating: images/road75.png inflating: images/road750.png inflating: images/road751.png inflating: images/road752.png inflating: images/road753.png inflating: images/road754.png inflating: images/road755.png inflating: images/road756.png inflating: images/road757.png inflating: images/road758.png inflating: images/road759.png inflating: images/road76.png inflating: images/road760.png inflating: images/road761.png inflating: images/road762.png inflating: images/road763.png inflating: images/road764.png inflating: images/road765.png inflating: images/road766.png inflating: images/road767.png inflating: images/road768.png inflating: images/road769.png inflating: images/road77.png inflating: images/road770.png inflating: images/road771.png inflating: images/road772.png inflating: images/road773.png inflating: images/road774.png inflating: images/road775.png inflating: images/road776.png inflating: images/road777.png inflating: images/road778.png inflating: images/road779.png inflating: images/road78.png inflating: images/road780.png inflating: images/road781.png inflating: images/road782.png inflating: images/road783.png inflating: images/road784.png inflating: images/road785.png inflating: images/road786.png inflating: images/road787.png inflating: images/road788.png inflating: images/road789.png inflating: images/road79.png inflating: images/road790.png inflating: images/road791.png inflating: images/road792.png inflating: images/road793.png inflating: images/road794.png inflating: images/road795.png inflating: images/road796.png inflating: images/road797.png inflating: images/road798.png inflating: images/road799.png inflating: images/road8.png inflating: images/road80.png inflating: images/road800.png inflating: images/road801.png inflating: images/road802.png inflating: images/road803.png inflating: images/road804.png inflating: images/road805.png inflating: images/road806.png inflating: images/road807.png inflating: images/road808.png inflating: images/road809.png inflating: images/road81.png inflating: images/road810.png inflating: images/road811.png inflating: images/road812.png inflating: images/road813.png inflating: images/road814.png inflating: images/road815.png inflating: images/road816.png inflating: images/road817.png inflating: images/road818.png inflating: images/road819.png inflating: images/road82.png inflating: images/road820.png inflating: images/road821.png inflating: images/road822.png inflating: images/road823.png inflating: images/road824.png inflating: images/road825.png inflating: images/road826.png inflating: images/road827.png inflating: images/road828.png inflating: images/road829.png inflating: images/road83.png inflating: images/road830.png inflating: images/road831.png inflating: images/road832.png inflating: images/road833.png inflating: images/road834.png inflating: images/road835.png inflating: images/road836.png inflating: images/road837.png inflating: images/road838.png inflating: images/road839.png inflating: images/road84.png inflating: images/road840.png inflating: images/road841.png inflating: images/road842.png inflating: images/road843.png inflating: images/road844.png inflating: images/road845.png inflating: images/road846.png inflating: images/road847.png inflating: images/road848.png inflating: images/road849.png inflating: images/road85.png inflating: images/road850.png inflating: images/road851.png inflating: images/road852.png inflating: images/road853.png inflating: images/road854.png inflating: images/road855.png inflating: images/road856.png inflating: images/road857.png inflating: images/road858.png inflating: images/road859.png inflating: images/road86.png inflating: images/road860.png inflating: images/road861.png inflating: images/road862.png inflating: images/road863.png inflating: images/road864.png inflating: images/road865.png inflating: images/road866.png inflating: images/road867.png inflating: images/road868.png inflating: images/road869.png inflating: images/road87.png inflating: images/road870.png inflating: images/road871.png inflating: images/road872.png inflating: images/road873.png inflating: images/road874.png inflating: images/road875.png inflating: images/road876.png inflating: images/road88.png inflating: images/road89.png inflating: images/road9.png inflating: images/road90.png inflating: images/road91.png inflating: images/road92.png inflating: images/road93.png inflating: images/road94.png inflating: images/road95.png inflating: images/road96.png inflating: images/road97.png inflating: images/road98.png inflating: images/road99.png
This code implements a basic road sign detection system using a Convolutional Neural Network (CNN). It serves as a hands-on introduction to using CNNs for image classification tasks, specifically focusing on detecting and classifying road signs.
The code includes steps for setting up the environment, selecting test images, parsing annotations from XML files, and preparing data for model training. A simple CNN model is built using TensorFlow and Keras, which is then trained and evaluated for accuracy. Finally, the trained model is used to make predictions on test images, visualizing the results by drawing bounding boxes and labels.
import os
import numpy as np
import cv2
import xml.etree.ElementTree as ET
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
import tensorflow as tf
from tensorflow.keras import layers, models
import random
import shutil
annotations_path = '/content/annotations/'
images_path = '/content/images/'
test_images_path = '/content/test_images/'
output_images_path = '/content/output_images_cnn/'
fixed_size = (128, 128)
if os.path.exists(test_images_path):
shutil.rmtree(test_images_path)
if os.path.exists(output_images_path):
shutil.rmtree(output_images_path)
os.makedirs(test_images_path)
os.makedirs(output_images_path)
all_images = [f for f in os.listdir(images_path) if f.endswith(('.png', '.jpg', '.jpeg'))]
num_images_to_select = 5
selected_images = random.sample(all_images, num_images_to_select)
for image_file in selected_images:
shutil.copy(os.path.join(images_path, image_file), os.path.join(test_images_path, image_file))
print(f"Copied to /content/test_images/: {selected_images}")
def parse_xml(xml_file):
tree = ET.parse(xml_file)
root = tree.getroot()
filename = root.find('filename').text
objects = []
for obj in root.findall('object'):
class_name = obj.find('name').text
bbox = obj.find('bndbox')
xmin = int(bbox.find('xmin').text)
ymin = int(bbox.find('ymin').text)
xmax = int(bbox.find('xmax').text)
ymax = int(bbox.find('ymax').text)
objects.append({'class': class_name, 'bbox': [xmin, ymin, xmax, ymax]})
return filename, objects
annotations = []
labels_data = []
bboxes = {}
for xml_file in os.listdir(annotations_path):
if xml_file.endswith('.xml'):
filename, objects = parse_xml(os.path.join(annotations_path, xml_file))
annotations.append({'filename': filename, 'objects': objects})
if objects:
labels_data.append(objects[0]['class'])
bboxes[filename] = objects[0]['bbox']
image_data = []
for annotation in annotations:
image_path = os.path.join(images_path, annotation['filename'])
img = cv2.imread(image_path)
if img is not None:
img_resized = cv2.resize(img, fixed_size)
image_data.append(img_resized)
image_data = np.array(image_data)
label_encoder = LabelEncoder()
encoded_labels = label_encoder.fit_transform(labels_data)
X_train, X_test, y_train, y_test = train_test_split(image_data, encoded_labels, test_size=0.2, random_state=42)
num_classes = len(label_encoder.classes_)
model = models.Sequential([
layers.Input(shape=(fixed_size[0], fixed_size[1], 3)),
layers.Conv2D(32, (3, 3), activation='relu'),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(64, (3, 3), activation='relu'),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(128, (3, 3), activation='relu'),
layers.MaxPooling2D((2, 2)),
layers.Flatten(),
layers.Dense(128, activation='relu'),
layers.Dense(num_classes, activation='softmax')
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
X_train = X_train / 255.0
model.fit(X_train, y_train, epochs=30, validation_split=0.2)
X_test = X_test / 255.0
test_loss, test_acc = model.evaluate(X_test, y_test)
print(f"Test accuracy: {test_acc}")
def load_and_preprocess_image(image_path):
img = cv2.imread(image_path)
if img is None:
print(f"Error: Unable to load image at {image_path}")
return None
img_resized = cv2.resize(img, fixed_size)
img_normalized = img_resized / 255.0
img_expanded = np.expand_dims(img_normalized, axis=0)
return img, img_expanded
for test_image in os.listdir(test_images_path):
test_image_path = os.path.join(test_images_path, test_image)
original_img, image_for_prediction = load_and_preprocess_image(test_image_path)
if image_for_prediction is not None:
predictions = model.predict(image_for_prediction)
predicted_class = np.argmax(predictions, axis=1)
confidence_score = np.max(predictions)
predicted_label = label_encoder.inverse_transform(predicted_class)[0]
if "stop" in predicted_label.lower():
label_text = f"Stop Sign "
elif "crosswalk" in predicted_label.lower():
label_text = f"Cross Walk "
elif "speed limit" in predicted_label.lower():
speed_limit_number = predicted_label.split()[-1]
label_text = f"Speed Limit: {speed_limit_number} "
else:
label_text = f"{predicted_label} "
bbox = bboxes.get(test_image, [10, 10, original_img.shape[1] - 10, original_img.shape[0] - 10])
xmin, ymin, xmax, ymax = bbox
cv2.rectangle(original_img, (xmin, ymin), (xmax, ymax), (0, 255, 0), 2)
cv2.putText(original_img, label_text, (xmin, ymin - 10),
cv2.FONT_HERSHEY_SIMPLEX, 0.6, (0, 0, 255), 2)
output_path = os.path.join(output_images_path, f"predicted_{test_image}")
cv2.imwrite(output_path, original_img)
print(f"Saved annotated image to {output_path}")
model.save('road_sign_detector.keras')
Copied to /content/test_images/: ['road813.png', 'road688.png', 'road287.png', 'road198.png', 'road252.png'] Epoch 1/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 12s 319ms/step - accuracy: 0.6081 - loss: 1.1313 - val_accuracy: 0.7447 - val_loss: 0.7913 Epoch 2/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 10s 27ms/step - accuracy: 0.7745 - loss: 0.7786 - val_accuracy: 0.7660 - val_loss: 0.7672 Epoch 3/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - accuracy: 0.7253 - loss: 0.8218 - val_accuracy: 0.7730 - val_loss: 0.7482 Epoch 4/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 1s 22ms/step - accuracy: 0.7962 - loss: 0.6685 - val_accuracy: 0.7730 - val_loss: 0.6625 Epoch 5/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - accuracy: 0.8226 - loss: 0.5681 - val_accuracy: 0.7943 - val_loss: 0.7136 Epoch 6/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 1s 21ms/step - accuracy: 0.8495 - loss: 0.4911 - val_accuracy: 0.8085 - val_loss: 0.6233 Epoch 7/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 1s 20ms/step - accuracy: 0.8787 - loss: 0.4173 - val_accuracy: 0.8085 - val_loss: 0.7424 Epoch 8/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 1s 20ms/step - accuracy: 0.9035 - loss: 0.3314 - val_accuracy: 0.7518 - val_loss: 0.8773 Epoch 9/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 1s 21ms/step - accuracy: 0.8670 - loss: 0.3900 - val_accuracy: 0.8156 - val_loss: 0.8576 Epoch 10/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - accuracy: 0.9272 - loss: 0.2493 - val_accuracy: 0.8014 - val_loss: 0.7617 Epoch 11/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 0s 21ms/step - accuracy: 0.9369 - loss: 0.1938 - val_accuracy: 0.8227 - val_loss: 0.9627 Epoch 12/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - accuracy: 0.9240 - loss: 0.2033 - val_accuracy: 0.7305 - val_loss: 1.1577 Epoch 13/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 1s 22ms/step - accuracy: 0.9518 - loss: 0.1759 - val_accuracy: 0.7872 - val_loss: 1.1369 Epoch 14/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - accuracy: 0.9688 - loss: 0.1016 - val_accuracy: 0.7660 - val_loss: 1.4488 Epoch 15/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 1s 22ms/step - accuracy: 0.9799 - loss: 0.0600 - val_accuracy: 0.8156 - val_loss: 1.3536 Epoch 16/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 1s 23ms/step - accuracy: 0.9793 - loss: 0.0667 - val_accuracy: 0.8014 - val_loss: 1.5073 Epoch 17/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 0s 26ms/step - accuracy: 0.9928 - loss: 0.0346 - val_accuracy: 0.8156 - val_loss: 1.5058 Epoch 18/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 1s 22ms/step - accuracy: 0.9994 - loss: 0.0215 - val_accuracy: 0.8014 - val_loss: 1.8062 Epoch 19/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 0s 25ms/step - accuracy: 0.9896 - loss: 0.0207 - val_accuracy: 0.8014 - val_loss: 1.5257 Epoch 20/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - accuracy: 0.9556 - loss: 0.2275 - val_accuracy: 0.7801 - val_loss: 1.0778 Epoch 21/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 0s 26ms/step - accuracy: 0.9714 - loss: 0.1123 - val_accuracy: 0.7518 - val_loss: 1.7266 Epoch 22/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 0s 25ms/step - accuracy: 0.9781 - loss: 0.1224 - val_accuracy: 0.7730 - val_loss: 1.2824 Epoch 23/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - accuracy: 0.9953 - loss: 0.0310 - val_accuracy: 0.7872 - val_loss: 1.4416 Epoch 24/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - accuracy: 1.0000 - loss: 0.0098 - val_accuracy: 0.8085 - val_loss: 1.6513 Epoch 25/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - accuracy: 1.0000 - loss: 0.0032 - val_accuracy: 0.7943 - val_loss: 1.6469 Epoch 26/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 1s 20ms/step - accuracy: 1.0000 - loss: 0.0023 - val_accuracy: 0.8085 - val_loss: 1.7100 Epoch 27/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 0s 21ms/step - accuracy: 1.0000 - loss: 0.0016 - val_accuracy: 0.8014 - val_loss: 1.7879 Epoch 28/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 0s 21ms/step - accuracy: 1.0000 - loss: 0.0012 - val_accuracy: 0.8014 - val_loss: 1.7927 Epoch 29/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - accuracy: 1.0000 - loss: 6.4740e-04 - val_accuracy: 0.7943 - val_loss: 1.8412 Epoch 30/30 18/18 ━━━━━━━━━━━━━━━━━━━━ 1s 20ms/step - accuracy: 1.0000 - loss: 5.9274e-04 - val_accuracy: 0.7943 - val_loss: 1.8697 6/6 ━━━━━━━━━━━━━━━━━━━━ 1s 184ms/step - accuracy: 0.8427 - loss: 1.5153 Test accuracy: 0.8238636255264282 1/1 ━━━━━━━━━━━━━━━━━━━━ 1s 554ms/step Saved annotated image to /content/output_images_cnn/predicted_road287.png 1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 21ms/step Saved annotated image to /content/output_images_cnn/predicted_road252.png 1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step Saved annotated image to /content/output_images_cnn/predicted_road813.png 1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step Saved annotated image to /content/output_images_cnn/predicted_road688.png 1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step Saved annotated image to /content/output_images_cnn/predicted_road198.png
import matplotlib.pyplot as plt
output_images_path = '/content/output_images_cnn/'
%matplotlib inline
def display_output_images(output_images_path):
image_files = [f for f in os.listdir(output_images_path) if f.endswith(('.png', '.jpg', '.jpeg'))]
for image_file in image_files:
img = cv2.imread(os.path.join(output_images_path, image_file))
if img is not None:
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img_rgb)
plt.title(image_file)
plt.axis('off')
plt.show()
else:
print(f"Error loading {image_file}")
display_output_images(output_images_path)
This code implements a road sign detection system using the YOLO (You Only Look Once) algorithm, known for its efficiency in real-time object detection. It prepares the environment by cloning the YOLOv5 repository and installing necessary dependencies. The code manages directories for training, validation, and test images, and converts bounding box annotations from XML format to YOLO format.
A custom YAML configuration file is generated to specify paths for training and validation data, the number of classes, and class names. The YOLOv5 model is then trained on the prepared dataset. After training, the code runs detection on test images using the trained model, saving the detection results. It also visualizes the detected road signs by drawing bounding boxes and labels on the images.
Overall, this implementation serves as a practical guide to utilizing YOLO for road sign detection, showcasing its capability for efficient real-time detection tasks.
import locale
import os
import random
import shutil
import cv2
import numpy as np
import xml.etree.ElementTree as ET
from sklearn.preprocessing import LabelEncoder
import yaml
import sys
import glob
def getpreferredencoding(do_setlocale=True):
return "UTF-8"
locale.getpreferredencoding = getpreferredencoding
if not os.path.exists('yolov5'):
!git clone https://github.com/ultralytics/yolov5
%cd yolov5
!pip install -r requirements.txt
sys.path.append('/content/yolov5')
from yolov5.train import run as train_run
from yolov5.detect import run as detect_run
annotations_path = '/content/annotations/'
images_path = '/content/images/'
train_images_path = '/content/images/train/'
val_images_path = '/content/images/val/'
train_labels_path = '/content/labels/train/'
val_labels_path = '/content/labels/val/'
test_images_path = '/content/test_images/'
output_labeled_image = '/content/output_images_yolo/'
for path in [train_images_path, val_images_path, test_images_path, output_labeled_image, train_labels_path, val_labels_path]:
if os.path.exists(path):
shutil.rmtree(path)
os.makedirs(path)
all_images = [f for f in os.listdir(images_path) if f.endswith(('.png', '.jpg', '.jpeg'))]
random.shuffle(all_images)
train_split = int(0.8 * len(all_images))
train_images = all_images[:train_split]
val_images = all_images[train_split:]
for image_file in train_images:
shutil.copy(os.path.join(images_path, image_file), os.path.join(train_images_path, image_file))
for image_file in val_images:
shutil.copy(os.path.join(images_path, image_file), os.path.join(val_images_path, image_file))
print("Assigned images to train and validation sets")
test_images_sample = random.sample(val_images, min(10, len(val_images)))
for image_file in test_images_sample:
shutil.copy(os.path.join(val_images_path, image_file), os.path.join(test_images_path, image_file))
print(f"Randomly selected {len(test_images_sample)} images for testing.")
def convert_bbox_to_yolo(size, box):
dw = 1.0 / size[0]
dh = 1.0 / size[1]
x_center = (box[0] + box[2]) / 2.0 - 1
y_center = (box[1] + box[3]) / 2.0 - 1
width = box[2] - box[0]
height = box[3] - box[1]
return x_center * dw, y_center * dh, width * dw, height * dh
def parse_and_convert_xml(xml_file, output_dir, label_encoder):
tree = ET.parse(xml_file)
root = tree.getroot()
size = root.find("size")
width, height = int(size.find("width").text), int(size.find("height").text)
output_text = []
for obj in root.findall("object"):
class_name = obj.find("name").text
if class_name in target_classes:
class_id = label_encoder.transform([class_name])[0]
bbox = obj.find("bndbox")
xmin = int(bbox.find("xmin").text)
ymin = int(bbox.find("ymin").text)
xmax = int(bbox.find("xmax").text)
ymax = int(bbox.find("ymax").text)
yolo_box = convert_bbox_to_yolo((width, height), [xmin, ymin, xmax, ymax])
output_text.append(f"{class_id} " + " ".join(map(str, yolo_box)))
base_name = os.path.splitext(os.path.basename(xml_file))[0]
output_path = os.path.join(output_dir, f"{base_name}.txt")
with open(output_path, "w") as f:
f.write("\n".join(output_text))
annotations = []
labels_data = []
for xml_file in os.listdir(annotations_path):
if xml_file.endswith('.xml'):
tree = ET.parse(os.path.join(annotations_path, xml_file))
root = tree.getroot()
for obj in root.findall("object"):
labels_data.append(obj.find("name").text)
target_classes = ['stop', 'crosswalk', 'speedlimit', 'trafficlight']
filtered_labels_data = [name for name in labels_data if name in target_classes]
unique_classes = set(labels_data)
print("Unique class names found in dataset:", unique_classes)
if not filtered_labels_data:
raise ValueError("No target classes found in the dataset. Please check the class names.")
label_encoder = LabelEncoder()
label_encoder.fit(filtered_labels_data)
class_names = list(label_encoder.classes_)
print("Available class names:", class_names)
for xml_file in os.listdir(annotations_path):
if xml_file.endswith('.xml'):
if os.path.splitext(xml_file)[0] in [os.path.splitext(img)[0] for img in train_images]:
parse_and_convert_xml(os.path.join(annotations_path, xml_file), train_labels_path, label_encoder)
else:
parse_and_convert_xml(os.path.join(annotations_path, xml_file), val_labels_path, label_encoder)
custom_yaml = {
'train': str(train_images_path),
'val': str(val_images_path),
'nc': int(len(class_names)),
'names': [str(name) for name in class_names]
}
with open('/content/custom.yaml', 'w') as f:
yaml.dump(custom_yaml, f, default_flow_style=False)
print("Generated custom.yaml")
train_run(data='/content/custom.yaml',
imgsz=640,
batch_size=16,
epochs=10,
weights='yolov5s.pt')
weights_dir = max(glob.glob('runs/train/exp*/weights'), key=os.path.getmtime) if glob.glob('runs/train/exp*/weights') else None # Check if the list is empty
best_weights_path = os.path.join(weights_dir, 'best.pt') if weights_dir else 'yolov5s.pt' # Use default weights if training failed
if not os.path.exists(output_labeled_image):
os.makedirs(output_labeled_image)
def display_yolo_detection(image_path, txt_path):
img = cv2.imread(image_path)
height, width, _ = img.shape
with open(txt_path, 'r') as f:
detections = f.readlines()
for detection in detections:
data = detection.strip().split()
class_id = data[0]
bbox = list(map(float, data[1:]))
xmin = int((bbox[0] - bbox[2] / 2) * width)
ymin = int((bbox[1] - bbox[3] / 2) * height)
xmax = int((bbox[0] + bbox[2] / 2) * width)
ymax = int((bbox[1] + bbox[3] / 2) * height)
label_text = class_names[int(class_id)]
cv2.rectangle(img, (xmin, ymin), (xmax, ymax), (0, 255, 0), 2)
cv2.putText(img, label_text, (xmin, ymin - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.6, (0, 0, 255), 2)
output_img_path = os.path.join(output_labeled_image, f"yolo_{os.path.basename(image_path)}")
cv2.imwrite(output_img_path, img)
print(f"Labeled image saved: {output_img_path}")
if len(os.listdir(test_images_path)) == 0:
raise AssertionError(f"No images found in {test_images_path}. Make sure the directory is populated with images.")
if all(cls in class_names for cls in target_classes):
detect_run(source=test_images_path,
weights=best_weights_path,
imgsz=(640, 640),
conf_thres=0.25,
iou_thres=0.45,
save_txt=True,
save_conf=True,
project=output_labeled_image,
name='detections',
exist_ok=True)
else:
print("Not all target classes were found in the trained model.")
wandb: W&B disabled due to login timeout.
Assigned images to train and validation sets
Randomly selected 10 images for testing.
Unique class names found in dataset: {'crosswalk', 'speedlimit', 'trafficlight', 'stop'}
Available class names: ['crosswalk', 'speedlimit', 'stop', 'trafficlight']
train: weights=yolov5s.pt, cfg=, data=/content/custom.yaml, hyp=data/hyps/hyp.scratch-low.yaml, epochs=10, batch_size=16, imgsz=640, rect=False, resume=False, nosave=False, noval=False, noautoanchor=False, noplots=False, evolve=None, evolve_population=data/hyps, resume_evolve=None, bucket=, cache=None, image_weights=False, device=, multi_scale=False, single_cls=False, optimizer=SGD, sync_bn=False, workers=8, project=runs/train, name=exp, exist_ok=False, quad=False, cos_lr=False, label_smoothing=0.0, patience=100, freeze=[0], save_period=-1, seed=0, local_rank=-1, entity=None, upload_dataset=False, bbox_interval=-1, artifact_alias=latest, ndjson_console=False, ndjson_file=False
Generated custom.yaml
github: up to date with https://github.com/ultralytics/yolov5 ✅ YOLOv5 🚀 v7.0-378-g2f74455a Python-3.10.12 torch-2.5.0+cu121 CUDA:0 (Tesla T4, 15102MiB) hyperparameters: lr0=0.01, lrf=0.01, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=0.05, cls=0.5, cls_pw=1.0, obj=1.0, obj_pw=1.0, iou_t=0.2, anchor_t=4.0, fl_gamma=0.0, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, mosaic=1.0, mixup=0.0, copy_paste=0.0 Comet: run 'pip install comet_ml' to automatically track and visualize YOLOv5 🚀 runs in Comet TensorBoard: Start with 'tensorboard --logdir runs/train', view at http://localhost:6006/ Downloading https://github.com/ultralytics/assets/releases/download/v0.0.0/Arial.ttf to /root/.config/Ultralytics/Arial.ttf... 100%|██████████| 755k/755k [00:00<00:00, 84.6MB/s] Downloading https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s.pt to yolov5s.pt... 100%|██████████| 14.1M/14.1M [00:00<00:00, 430MB/s] Overriding model.yaml nc=80 with nc=4 from n params module arguments 0 -1 1 3520 models.common.Conv [3, 32, 6, 2, 2] 1 -1 1 18560 models.common.Conv [32, 64, 3, 2] 2 -1 1 18816 models.common.C3 [64, 64, 1] 3 -1 1 73984 models.common.Conv [64, 128, 3, 2] 4 -1 2 115712 models.common.C3 [128, 128, 2] 5 -1 1 295424 models.common.Conv [128, 256, 3, 2] 6 -1 3 625152 models.common.C3 [256, 256, 3] 7 -1 1 1180672 models.common.Conv [256, 512, 3, 2] 8 -1 1 1182720 models.common.C3 [512, 512, 1] 9 -1 1 656896 models.common.SPPF [512, 512, 5] 10 -1 1 131584 models.common.Conv [512, 256, 1, 1] 11 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] 12 [-1, 6] 1 0 models.common.Concat [1] 13 -1 1 361984 models.common.C3 [512, 256, 1, False] 14 -1 1 33024 models.common.Conv [256, 128, 1, 1] 15 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] 16 [-1, 4] 1 0 models.common.Concat [1] 17 -1 1 90880 models.common.C3 [256, 128, 1, False] 18 -1 1 147712 models.common.Conv [128, 128, 3, 2] 19 [-1, 14] 1 0 models.common.Concat [1] 20 -1 1 296448 models.common.C3 [256, 256, 1, False] 21 -1 1 590336 models.common.Conv [256, 256, 3, 2] 22 [-1, 10] 1 0 models.common.Concat [1] 23 -1 1 1182720 models.common.C3 [512, 512, 1, False] 24 [17, 20, 23] 1 24273 models.yolo.Detect [4, [[10, 13, 16, 30, 33, 23], [30, 61, 62, 45, 59, 119], [116, 90, 156, 198, 373, 326]], [128, 256, 512]] Model summary: 214 layers, 7030417 parameters, 7030417 gradients, 16.0 GFLOPs Transferred 343/349 items from yolov5s.pt /content/yolov5/models/common.py:892: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead. with amp.autocast(autocast): /content/yolov5/models/common.py:892: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead. with amp.autocast(autocast): AMP: checks passed ✅ optimizer: SGD(lr=0.01) with parameter groups 57 weight(decay=0.0), 60 weight(decay=0.0005), 60 bias albumentations: Blur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01, num_output_channels=3, method='weighted_average'), CLAHE(p=0.01, clip_limit=(1, 4.0), tile_grid_size=(8, 8)) train: Scanning /content/labels/train... 701 images, 0 backgrounds, 0 corrupt: 100%|██████████| 701/701 [00:00<00:00, 789.43it/s] train: New cache created: /content/labels/train.cache val: Scanning /content/labels/val... 176 images, 0 backgrounds, 0 corrupt: 100%|██████████| 176/176 [00:00<00:00, 282.66it/s] val: New cache created: /content/labels/val.cache AutoAnchor: 5.62 anchors/target, 1.000 Best Possible Recall (BPR). Current anchors are a good fit to dataset ✅ Plotting labels to runs/train/exp/labels.jpg... /content/yolov5/train.py:355: FutureWarning: `torch.cuda.amp.GradScaler(args...)` is deprecated. Please use `torch.amp.GradScaler('cuda', args...)` instead. scaler = torch.cuda.amp.GradScaler(enabled=amp) Image sizes 640 train, 640 val Using 2 dataloader workers Logging results to runs/train/exp Starting training for 10 epochs... Epoch GPU_mem box_loss obj_loss cls_loss Instances Size 0%| | 0/44 [00:00<?, ?it/s]/content/yolov5/train.py:412 0/9 3.51G 0.1274 0.03038 0.05248 43 640: 2%|▏ | 1/44 [00:05<04:12, 5.88s/it]/content/yolov5/train.py:412 0/9 3.56G 0.1266 0.0316 0.05157 51 640: 5%|▍ | 2/44 [00:06<02:00, 2.88s/it]/content/yolov5/train.py:412 0/9 3.56G 0.1265 0.03185 0.05191 51 640: 7%|▋ | 3/44 [00:07<01:16, 1.86s/it]/content/yolov5/train.py:412 0/9 3.56G 0.1267 0.0314 0.05185 41 640: 9%|▉ | 4/44 [00:07<00:55, 1.39s/it]/content/yolov5/train.py:412 0/9 3.56G 0.1261 0.03085 0.05222 32 640: 11%|█▏ | 5/44 [00:08<00:43, 1.12s/it]/content/yolov5/train.py:412 0/9 3.56G 0.1256 0.03026 0.05224 31 640: 14%|█▎ | 6/44 [00:09<00:37, 1.01it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1257 0.03013 0.05196 47 640: 16%|█▌ | 7/44 [00:10<00:33, 1.10it/s]/content/yolov5/train.py:412 0/9 3.56G 0.125 0.03026 0.05172 46 640: 18%|█▊ | 8/44 [00:10<00:29, 1.21it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1244 0.03011 0.05125 36 640: 20%|██ | 9/44 [00:11<00:29, 1.19it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1239 0.03012 0.05095 42 640: 23%|██▎ | 10/44 [00:12<00:24, 1.38it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1233 0.03032 0.0505 49 640: 25%|██▌ | 11/44 [00:13<00:26, 1.27it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1223 0.03028 0.04996 37 640: 27%|██▋ | 12/44 [00:13<00:22, 1.44it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1215 0.03044 0.04945 48 640: 30%|██▉ | 13/44 [00:14<00:23, 1.30it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1203 0.03069 0.04895 44 640: 32%|███▏ | 14/44 [00:14<00:20, 1.43it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1198 0.03079 0.0485 50 640: 34%|███▍ | 15/44 [00:16<00:23, 1.24it/s]/content/yolov5/train.py:412 0/9 3.56G 0.119 0.03111 0.04796 51 640: 36%|███▋ | 16/44 [00:16<00:18, 1.52it/s]/content/yolov5/train.py:412 0/9 3.56G 0.118 0.0312 0.04737 44 640: 39%|███▊ | 17/44 [00:17<00:23, 1.17it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1171 0.03104 0.04693 31 640: 41%|████ | 18/44 [00:17<00:18, 1.44it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1162 0.03108 0.04654 41 640: 43%|████▎ | 19/44 [00:18<00:19, 1.28it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1153 0.03124 0.046 45 640: 45%|████▌ | 20/44 [00:19<00:16, 1.49it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1142 0.03123 0.04543 36 640: 48%|████▊ | 21/44 [00:21<00:22, 1.01it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1133 0.03112 0.04494 34 640: 50%|█████ | 22/44 [00:21<00:17, 1.25it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1125 0.03117 0.04445 45 640: 52%|█████▏ | 23/44 [00:23<00:22, 1.05s/it]/content/yolov5/train.py:412 0/9 3.56G 0.1117 0.0312 0.04385 41 640: 55%|█████▍ | 24/44 [00:23<00:17, 1.15it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1109 0.03118 0.04341 40 640: 57%|█████▋ | 25/44 [00:26<00:30, 1.62s/it]/content/yolov5/train.py:412 0/9 3.56G 0.11 0.03133 0.04304 44 640: 59%|█████▉ | 26/44 [00:27<00:26, 1.46s/it]/content/yolov5/train.py:412 0/9 3.56G 0.1092 0.03142 0.0426 45 640: 61%|██████▏ | 27/44 [00:30<00:28, 1.70s/it]/content/yolov5/train.py:412 0/9 3.56G 0.1085 0.03146 0.04218 43 640: 64%|██████▎ | 28/44 [00:30<00:20, 1.29s/it]/content/yolov5/train.py:412 0/9 3.56G 0.1077 0.03159 0.04176 47 640: 66%|██████▌ | 29/44 [00:31<00:18, 1.25s/it]/content/yolov5/train.py:412 0/9 3.56G 0.1069 0.03181 0.04141 50 640: 68%|██████▊ | 30/44 [00:32<00:13, 1.03it/s]/content/yolov5/train.py:412 0/9 3.56G 0.106 0.03182 0.04113 38 640: 70%|███████ | 31/44 [00:33<00:12, 1.01it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1054 0.0318 0.04075 38 640: 73%|███████▎ | 32/44 [00:33<00:09, 1.27it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1047 0.03173 0.04034 38 640: 75%|███████▌ | 33/44 [00:34<00:09, 1.14it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1042 0.03169 0.04006 41 640: 77%|███████▋ | 34/44 [00:34<00:07, 1.39it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1038 0.03177 0.0398 54 640: 80%|███████▉ | 35/44 [00:35<00:07, 1.19it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1031 0.03171 0.03943 36 640: 82%|████████▏ | 36/44 [00:36<00:05, 1.46it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1023 0.03183 0.03898 43 640: 84%|████████▍ | 37/44 [00:37<00:05, 1.25it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1018 0.03169 0.03874 34 640: 86%|████████▋ | 38/44 [00:37<00:03, 1.52it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1011 0.03166 0.03829 38 640: 89%|████████▊ | 39/44 [00:38<00:03, 1.26it/s]/content/yolov5/train.py:412 0/9 3.56G 0.1006 0.03173 0.03808 47 640: 91%|█████████ | 40/44 [00:39<00:02, 1.52it/s]/content/yolov5/train.py:412 0/9 3.56G 0.09993 0.03173 0.03771 38 640: 93%|█████████▎| 41/44 [00:40<00:02, 1.16it/s]/content/yolov5/train.py:412 0/9 3.56G 0.09926 0.0318 0.03753 41 640: 95%|█████████▌| 42/44 [00:40<00:01, 1.32it/s]/content/yolov5/train.py:412 0/9 3.56G 0.09875 0.03183 0.03732 44 640: 98%|█████████▊| 43/44 [00:42<00:01, 1.13s/it]/content/yolov5/train.py:412 0/9 3.56G 0.09821 0.03176 0.03715 29 640: 100%|██████████| 44/44 [00:43<00:00, 1.00it/s] Class Images Instances P R mAP50 mAP50-95: 100%|██████████| 6/6 [00:08<00:00, 1.48s/it] all 176 252 0.798 0.206 0.148 0.0435 Epoch GPU_mem box_loss obj_loss cls_loss Instances Size 0%| | 0/44 [00:00<?, ?it/s]/content/yolov5/train.py:412 1/9 4.38G 0.07134 0.03967 0.02428 51 640: 2%|▏ | 1/44 [00:00<00:10, 3.96it/s]/content/yolov5/train.py:412 1/9 4.38G 0.07461 0.03632 0.0257 44 640: 5%|▍ | 2/44 [00:00<00:13, 3.22it/s]/content/yolov5/train.py:412 1/9 4.38G 0.07445 0.0356 0.02642 49 640: 7%|▋ | 3/44 [00:00<00:11, 3.45it/s]/content/yolov5/train.py:412 1/9 4.38G 0.07389 0.03402 0.02601 40 640: 9%|▉ | 4/44 [00:01<00:12, 3.30it/s]/content/yolov5/train.py:412 1/9 4.38G 0.07337 0.03454 0.02712 52 640: 11%|█▏ | 5/44 [00:01<00:17, 2.27it/s]/content/yolov5/train.py:412 1/9 4.38G 0.07248 0.03335 0.02628 34 640: 14%|█▎ | 6/44 [00:02<00:15, 2.41it/s]/content/yolov5/train.py:412 1/9 4.38G 0.07144 0.03244 0.02528 31 640: 16%|█▌ | 7/44 [00:03<00:23, 1.59it/s]/content/yolov5/train.py:412 1/9 4.38G 0.07115 0.03226 0.02547 44 640: 18%|█▊ | 8/44 [00:03<00:19, 1.89it/s]/content/yolov5/train.py:412 1/9 4.38G 0.07082 0.03153 0.025 35 640: 20%|██ | 9/44 [00:04<00:25, 1.37it/s]/content/yolov5/train.py:412 1/9 4.38G 0.07043 0.03142 0.02448 42 640: 23%|██▎ | 10/44 [00:05<00:20, 1.66it/s]/content/yolov5/train.py:412 1/9 4.38G 0.07025 0.03071 0.02456 30 640: 25%|██▌ | 11/44 [00:06<00:24, 1.32it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06992 0.03067 0.02422 42 640: 27%|██▋ | 12/44 [00:06<00:20, 1.59it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06971 0.0307 0.02399 46 640: 30%|██▉ | 13/44 [00:07<00:25, 1.22it/s]/content/yolov5/train.py:412 1/9 4.38G 0.0695 0.0304 0.02336 39 640: 32%|███▏ | 14/44 [00:08<00:20, 1.47it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06949 0.03014 0.02309 41 640: 34%|███▍ | 15/44 [00:10<00:30, 1.06s/it]/content/yolov5/train.py:412 1/9 4.38G 0.06943 0.02998 0.02284 37 640: 36%|███▋ | 16/44 [00:10<00:24, 1.15it/s]/content/yolov5/train.py:412 1/9 4.38G 0.0695 0.0301 0.02268 46 640: 39%|███▊ | 17/44 [00:12<00:35, 1.33s/it]/content/yolov5/train.py:412 1/9 4.38G 0.06953 0.02976 0.02259 36 640: 41%|████ | 18/44 [00:13<00:27, 1.07s/it]/content/yolov5/train.py:412 1/9 4.38G 0.06929 0.02977 0.0226 45 640: 43%|████▎ | 19/44 [00:15<00:35, 1.40s/it]/content/yolov5/train.py:412 1/9 4.38G 0.06923 0.03001 0.02291 53 640: 45%|████▌ | 20/44 [00:16<00:26, 1.12s/it]/content/yolov5/train.py:412 1/9 4.38G 0.0693 0.02975 0.02291 37 640: 48%|████▊ | 21/44 [00:17<00:28, 1.22s/it]/content/yolov5/train.py:412 1/9 4.38G 0.06934 0.02936 0.02258 30 640: 50%|█████ | 22/44 [00:17<00:20, 1.05it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06926 0.02916 0.02257 39 640: 52%|█████▏ | 23/44 [00:18<00:20, 1.03it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06881 0.02908 0.02223 41 640: 55%|█████▍ | 24/44 [00:19<00:15, 1.32it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06843 0.02859 0.02207 22 640: 57%|█████▋ | 25/44 [00:20<00:16, 1.14it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06837 0.02846 0.0219 38 640: 59%|█████▉ | 26/44 [00:20<00:12, 1.43it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06816 0.02829 0.02161 35 640: 61%|██████▏ | 27/44 [00:21<00:13, 1.24it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06815 0.0282 0.02159 42 640: 64%|██████▎ | 28/44 [00:21<00:10, 1.51it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06809 0.02828 0.02159 49 640: 66%|██████▌ | 29/44 [00:23<00:11, 1.27it/s]/content/yolov5/train.py:412 1/9 4.38G 0.0679 0.02812 0.02144 36 640: 68%|██████▊ | 30/44 [00:23<00:08, 1.58it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06783 0.02787 0.02147 32 640: 70%|███████ | 31/44 [00:24<00:10, 1.22it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06799 0.02787 0.02136 55 640: 73%|███████▎ | 32/44 [00:24<00:07, 1.52it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06784 0.02758 0.02131 26 640: 75%|███████▌ | 33/44 [00:25<00:08, 1.31it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06783 0.0275 0.02137 42 640: 77%|███████▋ | 34/44 [00:26<00:06, 1.59it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06771 0.02756 0.02125 48 640: 80%|███████▉ | 35/44 [00:27<00:07, 1.21it/s]/content/yolov5/train.py:412 1/9 4.38G 0.0678 0.0275 0.02125 44 640: 82%|████████▏ | 36/44 [00:28<00:05, 1.34it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06765 0.02752 0.02129 44 640: 84%|████████▍ | 37/44 [00:29<00:07, 1.08s/it]/content/yolov5/train.py:412 1/9 4.38G 0.06786 0.02739 0.02123 41 640: 86%|████████▋ | 38/44 [00:30<00:05, 1.13it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06805 0.02749 0.02114 57 640: 89%|████████▊ | 39/44 [00:32<00:05, 1.19s/it]/content/yolov5/train.py:412 1/9 4.38G 0.06819 0.02745 0.02112 42 640: 91%|█████████ | 40/44 [00:32<00:03, 1.00it/s]/content/yolov5/train.py:412 1/9 4.38G 0.06795 0.0273 0.02098 33 640: 93%|█████████▎| 41/44 [00:34<00:04, 1.38s/it]/content/yolov5/train.py:412 1/9 4.38G 0.06762 0.0272 0.02087 32 640: 95%|█████████▌| 42/44 [00:35<00:02, 1.08s/it]/content/yolov5/train.py:412 1/9 4.38G 0.06739 0.02711 0.02081 38 640: 98%|█████████▊| 43/44 [00:37<00:01, 1.53s/it]/content/yolov5/train.py:412 1/9 4.38G 0.06742 0.02703 0.02087 33 640: 100%|██████████| 44/44 [00:38<00:00, 1.15it/s] Class Images Instances P R mAP50 mAP50-95: 100%|██████████| 6/6 [00:04<00:00, 1.33it/s] all 176 252 0.0778 0.293 0.124 0.0334 Epoch GPU_mem box_loss obj_loss cls_loss Instances Size 0%| | 0/44 [00:00<?, ?it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06918 0.02234 0.01946 38 640: 2%|▏ | 1/44 [00:00<00:11, 3.85it/s]/content/yolov5/train.py:412 2/9 4.38G 0.07046 0.02274 0.01847 44 640: 5%|▍ | 2/44 [00:00<00:12, 3.50it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06829 0.02147 0.01718 30 640: 7%|▋ | 3/44 [00:00<00:11, 3.50it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06802 0.02203 0.01718 40 640: 9%|▉ | 4/44 [00:01<00:11, 3.63it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06758 0.02146 0.0165 34 640: 11%|█▏ | 5/44 [00:01<00:18, 2.14it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06817 0.0211 0.01644 40 640: 14%|█▎ | 6/44 [00:02<00:15, 2.42it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06874 0.02305 0.0166 66 640: 16%|█▌ | 7/44 [00:03<00:23, 1.58it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06889 0.02238 0.01599 32 640: 18%|█▊ | 8/44 [00:03<00:19, 1.85it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06871 0.02303 0.01585 53 640: 20%|██ | 9/44 [00:04<00:23, 1.48it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06877 0.02337 0.01601 50 640: 23%|██▎ | 10/44 [00:05<00:20, 1.66it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06847 0.02319 0.01627 37 640: 25%|██▌ | 11/44 [00:06<00:30, 1.09it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06792 0.02328 0.01621 41 640: 27%|██▋ | 12/44 [00:07<00:26, 1.19it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06743 0.02331 0.01626 40 640: 30%|██▉ | 13/44 [00:08<00:32, 1.05s/it]/content/yolov5/train.py:412 2/9 4.38G 0.06722 0.0234 0.0164 47 640: 32%|███▏ | 14/44 [00:09<00:29, 1.01it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06732 0.02333 0.01621 43 640: 34%|███▍ | 15/44 [00:11<00:35, 1.24s/it]/content/yolov5/train.py:412 2/9 4.38G 0.06761 0.02323 0.0164 39 640: 36%|███▋ | 16/44 [00:12<00:29, 1.06s/it]/content/yolov5/train.py:412 2/9 4.38G 0.06766 0.02345 0.01647 51 640: 39%|███▊ | 17/44 [00:14<00:34, 1.28s/it]/content/yolov5/train.py:412 2/9 4.38G 0.06727 0.02331 0.01642 35 640: 41%|████ | 18/44 [00:14<00:29, 1.14s/it]/content/yolov5/train.py:412 2/9 4.38G 0.06681 0.02349 0.01662 49 640: 43%|████▎ | 19/44 [00:16<00:31, 1.26s/it]/content/yolov5/train.py:412 2/9 4.38G 0.06622 0.02371 0.01678 46 640: 45%|████▌ | 20/44 [00:16<00:24, 1.04s/it]/content/yolov5/train.py:412 2/9 4.38G 0.06604 0.02375 0.01676 45 640: 48%|████▊ | 21/44 [00:17<00:23, 1.02s/it]/content/yolov5/train.py:412 2/9 4.38G 0.06594 0.02407 0.01675 59 640: 50%|█████ | 22/44 [00:18<00:18, 1.19it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06583 0.02415 0.01675 51 640: 52%|█████▏ | 23/44 [00:19<00:18, 1.11it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06567 0.02419 0.01687 45 640: 55%|█████▍ | 24/44 [00:19<00:15, 1.26it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06552 0.02406 0.01672 37 640: 57%|█████▋ | 25/44 [00:20<00:15, 1.22it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06561 0.02383 0.01665 35 640: 59%|█████▉ | 26/44 [00:21<00:12, 1.40it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06566 0.0237 0.01657 38 640: 61%|██████▏ | 27/44 [00:22<00:13, 1.24it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06556 0.02343 0.01651 31 640: 64%|██████▎ | 28/44 [00:22<00:11, 1.45it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06564 0.02333 0.01657 39 640: 66%|██████▌ | 29/44 [00:23<00:12, 1.24it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06553 0.02317 0.01641 39 640: 68%|██████▊ | 30/44 [00:24<00:09, 1.53it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06565 0.02309 0.01633 44 640: 70%|███████ | 31/44 [00:25<00:10, 1.21it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06566 0.02299 0.01637 39 640: 73%|███████▎ | 32/44 [00:25<00:08, 1.48it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06565 0.02295 0.01624 51 640: 75%|███████▌ | 33/44 [00:26<00:09, 1.12it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06549 0.02301 0.0162 42 640: 77%|███████▋ | 34/44 [00:27<00:08, 1.24it/s]/content/yolov5/train.py:412 2/9 4.38G 0.0655 0.02286 0.01605 38 640: 80%|███████▉ | 35/44 [00:29<00:09, 1.09s/it]/content/yolov5/train.py:412 2/9 4.38G 0.06534 0.02267 0.016 30 640: 82%|████████▏ | 36/44 [00:29<00:07, 1.06it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06553 0.02253 0.01604 38 640: 84%|████████▍ | 37/44 [00:32<00:09, 1.33s/it]/content/yolov5/train.py:412 2/9 4.38G 0.06565 0.02235 0.01593 32 640: 86%|████████▋ | 38/44 [00:32<00:06, 1.03s/it]/content/yolov5/train.py:412 2/9 4.38G 0.06576 0.02225 0.01588 38 640: 89%|████████▊ | 39/44 [00:34<00:06, 1.39s/it]/content/yolov5/train.py:412 2/9 4.38G 0.06592 0.02223 0.01591 44 640: 91%|█████████ | 40/44 [00:35<00:04, 1.12s/it]/content/yolov5/train.py:412 2/9 4.38G 0.06576 0.02216 0.01592 33 640: 93%|█████████▎| 41/44 [00:36<00:03, 1.23s/it]/content/yolov5/train.py:412 2/9 4.38G 0.0657 0.02215 0.01587 45 640: 95%|█████████▌| 42/44 [00:36<00:01, 1.06it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06557 0.02206 0.01581 30 640: 98%|█████████▊| 43/44 [00:38<00:00, 1.02it/s]/content/yolov5/train.py:412 2/9 4.38G 0.06557 0.02208 0.0158 40 640: 100%|██████████| 44/44 [00:38<00:00, 1.15it/s] Class Images Instances P R mAP50 mAP50-95: 100%|██████████| 6/6 [00:04<00:00, 1.31it/s] all 176 252 0.494 0.514 0.407 0.176 Epoch GPU_mem box_loss obj_loss cls_loss Instances Size 0%| | 0/44 [00:00<?, ?it/s]/content/yolov5/train.py:412 3/9 4.38G 0.06367 0.02081 0.01066 41 640: 2%|▏ | 1/44 [00:00<00:11, 3.87it/s]/content/yolov5/train.py:412 3/9 4.38G 0.06217 0.0198 0.01322 38 640: 5%|▍ | 2/44 [00:00<00:11, 3.77it/s]/content/yolov5/train.py:412 3/9 4.38G 0.0618 0.02187 0.0137 48 640: 7%|▋ | 3/44 [00:00<00:11, 3.71it/s]/content/yolov5/train.py:412 3/9 4.38G 0.0609 0.02012 0.01354 27 640: 9%|▉ | 4/44 [00:01<00:12, 3.25it/s]/content/yolov5/train.py:412 3/9 4.38G 0.06126 0.01915 0.01307 30 640: 11%|█▏ | 5/44 [00:01<00:18, 2.10it/s]/content/yolov5/train.py:412 3/9 4.38G 0.06065 0.01977 0.01332 45 640: 14%|█▎ | 6/44 [00:02<00:18, 2.04it/s]/content/yolov5/train.py:412 3/9 4.38G 0.06033 0.01978 0.01327 43 640: 16%|█▌ | 7/44 [00:04<00:34, 1.08it/s]/content/yolov5/train.py:412 3/9 4.38G 0.06056 0.02058 0.01305 58 640: 18%|█▊ | 8/44 [00:04<00:30, 1.18it/s]/content/yolov5/train.py:412 3/9 4.38G 0.06033 0.0204 0.01317 39 640: 20%|██ | 9/44 [00:06<00:41, 1.19s/it]/content/yolov5/train.py:412 3/9 4.38G 0.06015 0.02084 0.01301 52 640: 23%|██▎ | 10/44 [00:07<00:34, 1.01s/it]/content/yolov5/train.py:412 3/9 4.38G 0.05993 0.02106 0.0129 47 640: 25%|██▌ | 11/44 [00:09<00:46, 1.40s/it]/content/yolov5/train.py:412 3/9 4.38G 0.0596 0.02163 0.01293 53 640: 27%|██▋ | 12/44 [00:10<00:36, 1.14s/it]/content/yolov5/train.py:412 3/9 4.38G 0.05963 0.02146 0.01312 37 640: 30%|██▉ | 13/44 [00:12<00:42, 1.36s/it]/content/yolov5/train.py:412 3/9 4.38G 0.05952 0.02111 0.01278 37 640: 32%|███▏ | 14/44 [00:12<00:30, 1.03s/it]/content/yolov5/train.py:412 3/9 4.38G 0.05932 0.02098 0.01252 41 640: 34%|███▍ | 15/44 [00:13<00:30, 1.05s/it]/content/yolov5/train.py:412 3/9 4.38G 0.05934 0.02063 0.01235 34 640: 36%|███▋ | 16/44 [00:13<00:22, 1.22it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05921 0.0205 0.01221 39 640: 39%|███▊ | 17/44 [00:14<00:24, 1.09it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05915 0.02049 0.01209 44 640: 41%|████ | 18/44 [00:15<00:19, 1.30it/s]/content/yolov5/train.py:412 3/9 4.38G 0.0589 0.02065 0.01209 49 640: 43%|████▎ | 19/44 [00:16<00:21, 1.18it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05909 0.02062 0.01195 49 640: 45%|████▌ | 20/44 [00:16<00:17, 1.41it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05876 0.02045 0.01199 30 640: 48%|████▊ | 21/44 [00:17<00:18, 1.27it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05852 0.02036 0.01202 37 640: 50%|█████ | 22/44 [00:18<00:15, 1.45it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05827 0.02023 0.01191 35 640: 52%|█████▏ | 23/44 [00:19<00:17, 1.23it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05813 0.02036 0.01188 53 640: 55%|█████▍ | 24/44 [00:19<00:13, 1.48it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05795 0.02008 0.01189 29 640: 57%|█████▋ | 25/44 [00:20<00:15, 1.26it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05788 0.02013 0.01188 44 640: 59%|█████▉ | 26/44 [00:21<00:12, 1.50it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05775 0.02015 0.01183 41 640: 61%|██████▏ | 27/44 [00:22<00:15, 1.09it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05773 0.02 0.01178 34 640: 64%|██████▎ | 28/44 [00:23<00:12, 1.27it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05754 0.0199 0.01168 41 640: 66%|██████▌ | 29/44 [00:24<00:15, 1.04s/it]/content/yolov5/train.py:412 3/9 4.38G 0.05746 0.02001 0.01169 52 640: 68%|██████▊ | 30/44 [00:25<00:13, 1.03it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05735 0.01987 0.01162 35 640: 70%|███████ | 31/44 [00:27<00:15, 1.17s/it]/content/yolov5/train.py:412 3/9 4.38G 0.05719 0.01987 0.01163 40 640: 73%|███████▎ | 32/44 [00:28<00:13, 1.13s/it]/content/yolov5/train.py:412 3/9 4.38G 0.05718 0.01963 0.01149 27 640: 75%|███████▌ | 33/44 [00:29<00:14, 1.29s/it]/content/yolov5/train.py:412 3/9 4.38G 0.05727 0.01996 0.01154 68 640: 77%|███████▋ | 34/44 [00:31<00:12, 1.23s/it]/content/yolov5/train.py:412 3/9 4.38G 0.05729 0.01995 0.01158 43 640: 80%|███████▉ | 35/44 [00:32<00:12, 1.36s/it]/content/yolov5/train.py:412 3/9 4.38G 0.05735 0.01988 0.0116 39 640: 82%|████████▏ | 36/44 [00:33<00:09, 1.19s/it]/content/yolov5/train.py:412 3/9 4.38G 0.05723 0.02001 0.01162 53 640: 84%|████████▍ | 37/44 [00:34<00:07, 1.14s/it]/content/yolov5/train.py:412 3/9 4.38G 0.05703 0.02 0.01165 40 640: 86%|████████▋ | 38/44 [00:34<00:05, 1.14it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05686 0.01992 0.01158 38 640: 89%|████████▊ | 39/44 [00:35<00:04, 1.07it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05677 0.01996 0.01152 51 640: 91%|█████████ | 40/44 [00:36<00:03, 1.28it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05683 0.02 0.01163 48 640: 93%|█████████▎| 41/44 [00:37<00:02, 1.18it/s]/content/yolov5/train.py:412 3/9 4.38G 0.0569 0.01995 0.01163 34 640: 95%|█████████▌| 42/44 [00:37<00:01, 1.43it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05692 0.01995 0.01162 46 640: 98%|█████████▊| 43/44 [00:38<00:00, 1.23it/s]/content/yolov5/train.py:412 3/9 4.38G 0.05698 0.01983 0.01166 26 640: 100%|██████████| 44/44 [00:39<00:00, 1.13it/s] Class Images Instances P R mAP50 mAP50-95: 100%|██████████| 6/6 [00:04<00:00, 1.29it/s] all 176 252 0.436 0.719 0.574 0.267 Epoch GPU_mem box_loss obj_loss cls_loss Instances Size 0%| | 0/44 [00:00<?, ?it/s]/content/yolov5/train.py:412 4/9 4.38G 0.0476 0.0141 0.01079 32 640: 2%|▏ | 1/44 [00:00<00:13, 3.26it/s]/content/yolov5/train.py:412 4/9 4.38G 0.04651 0.01501 0.01082 38 640: 5%|▍ | 2/44 [00:00<00:13, 3.18it/s]/content/yolov5/train.py:412 4/9 4.38G 0.04864 0.01637 0.01078 43 640: 7%|▋ | 3/44 [00:00<00:11, 3.43it/s]/content/yolov5/train.py:412 4/9 4.38G 0.04919 0.01593 0.01026 32 640: 9%|▉ | 4/44 [00:01<00:13, 3.08it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05022 0.01654 0.009976 45 640: 11%|█▏ | 5/44 [00:02<00:26, 1.47it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05084 0.01691 0.009994 43 640: 14%|█▎ | 6/44 [00:03<00:23, 1.62it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05129 0.01692 0.009585 39 640: 16%|█▌ | 7/44 [00:05<00:42, 1.14s/it]/content/yolov5/train.py:412 4/9 4.38G 0.05193 0.01668 0.009798 39 640: 18%|█▊ | 8/44 [00:05<00:33, 1.08it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05174 0.01724 0.01005 50 640: 20%|██ | 9/44 [00:08<00:48, 1.39s/it]/content/yolov5/train.py:412 4/9 4.38G 0.05173 0.01749 0.01013 48 640: 23%|██▎ | 10/44 [00:08<00:36, 1.08s/it]/content/yolov5/train.py:412 4/9 4.38G 0.05167 0.01748 0.01018 40 640: 25%|██▌ | 11/44 [00:10<00:45, 1.39s/it]/content/yolov5/train.py:412 4/9 4.38G 0.0516 0.01742 0.01003 42 640: 27%|██▋ | 12/44 [00:10<00:33, 1.05s/it]/content/yolov5/train.py:412 4/9 4.38G 0.05163 0.0172 0.009886 34 640: 30%|██▉ | 13/44 [00:12<00:33, 1.08s/it]/content/yolov5/train.py:412 4/9 4.38G 0.05183 0.01734 0.009937 46 640: 32%|███▏ | 14/44 [00:12<00:25, 1.19it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05177 0.01714 0.009803 35 640: 34%|███▍ | 15/44 [00:13<00:28, 1.00it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05179 0.01734 0.009753 47 640: 36%|███▋ | 16/44 [00:14<00:22, 1.26it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05165 0.01749 0.009653 46 640: 39%|███▊ | 17/44 [00:15<00:23, 1.13it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05164 0.01741 0.009591 39 640: 41%|████ | 18/44 [00:15<00:18, 1.42it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05163 0.01771 0.009654 59 640: 43%|████▎ | 19/44 [00:16<00:22, 1.13it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05138 0.01759 0.009685 33 640: 45%|████▌ | 20/44 [00:17<00:17, 1.39it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05133 0.01757 0.009706 45 640: 48%|████▊ | 21/44 [00:18<00:19, 1.18it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05123 0.01758 0.009641 48 640: 50%|█████ | 22/44 [00:18<00:14, 1.47it/s]/content/yolov5/train.py:412 4/9 4.38G 0.0512 0.01753 0.009569 38 640: 52%|█████▏ | 23/44 [00:19<00:16, 1.26it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05111 0.01739 0.009647 33 640: 55%|█████▍ | 24/44 [00:19<00:13, 1.51it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05124 0.01752 0.009576 53 640: 57%|█████▋ | 25/44 [00:21<00:16, 1.17it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05144 0.01758 0.009485 53 640: 59%|█████▉ | 26/44 [00:21<00:12, 1.42it/s]/content/yolov5/train.py:412 4/9 4.38G 0.0517 0.01764 0.009521 50 640: 61%|██████▏ | 27/44 [00:23<00:18, 1.07s/it]/content/yolov5/train.py:412 4/9 4.38G 0.05179 0.01752 0.009386 40 640: 64%|██████▎ | 28/44 [00:23<00:13, 1.15it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05164 0.01751 0.00932 45 640: 66%|██████▌ | 29/44 [00:26<00:18, 1.25s/it]/content/yolov5/train.py:412 4/9 4.38G 0.05157 0.01765 0.009371 52 640: 68%|██████▊ | 30/44 [00:26<00:13, 1.00it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05138 0.01758 0.009296 36 640: 70%|███████ | 31/44 [00:28<00:18, 1.41s/it]/content/yolov5/train.py:412 4/9 4.38G 0.05136 0.01749 0.009293 42 640: 73%|███████▎ | 32/44 [00:29<00:13, 1.14s/it]/content/yolov5/train.py:412 4/9 4.38G 0.05126 0.01734 0.009209 33 640: 75%|███████▌ | 33/44 [00:31<00:16, 1.50s/it]/content/yolov5/train.py:412 4/9 4.38G 0.05118 0.01731 0.009138 44 640: 77%|███████▋ | 34/44 [00:31<00:11, 1.15s/it]/content/yolov5/train.py:412 4/9 4.38G 0.05096 0.01722 0.009055 39 640: 80%|███████▉ | 35/44 [00:33<00:10, 1.14s/it]/content/yolov5/train.py:412 4/9 4.38G 0.05088 0.01723 0.009052 45 640: 82%|████████▏ | 36/44 [00:33<00:07, 1.12it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05073 0.01713 0.008977 34 640: 84%|████████▍ | 37/44 [00:34<00:06, 1.02it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05055 0.01715 0.008914 45 640: 86%|████████▋ | 38/44 [00:34<00:04, 1.29it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05055 0.01722 0.008842 56 640: 89%|████████▊ | 39/44 [00:36<00:04, 1.13it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05054 0.01714 0.008922 39 640: 91%|█████████ | 40/44 [00:36<00:02, 1.38it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05059 0.01704 0.0089 36 640: 93%|█████████▎| 41/44 [00:37<00:02, 1.19it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05059 0.01702 0.008898 39 640: 95%|█████████▌| 42/44 [00:37<00:01, 1.49it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05057 0.01705 0.008807 54 640: 98%|█████████▊| 43/44 [00:39<00:00, 1.19it/s]/content/yolov5/train.py:412 4/9 4.38G 0.05054 0.017 0.008832 36 640: 100%|██████████| 44/44 [00:39<00:00, 1.12it/s] Class Images Instances P R mAP50 mAP50-95: 100%|██████████| 6/6 [00:05<00:00, 1.05it/s] all 176 252 0.537 0.723 0.605 0.308 Epoch GPU_mem box_loss obj_loss cls_loss Instances Size 0%| | 0/44 [00:00<?, ?it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04639 0.01218 0.007374 35 640: 2%|▏ | 1/44 [00:00<00:14, 2.89it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04783 0.01227 0.008956 32 640: 5%|▍ | 2/44 [00:00<00:15, 2.66it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04746 0.0134 0.008804 42 640: 7%|▋ | 3/44 [00:01<00:16, 2.50it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04746 0.01357 0.008074 39 640: 9%|▉ | 4/44 [00:01<00:16, 2.39it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04679 0.0151 0.008198 56 640: 11%|█▏ | 5/44 [00:03<00:30, 1.29it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04662 0.01496 0.008166 40 640: 14%|█▎ | 6/44 [00:03<00:25, 1.52it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04557 0.01519 0.008174 42 640: 16%|█▌ | 7/44 [00:05<00:45, 1.23s/it]/content/yolov5/train.py:412 5/9 4.38G 0.04486 0.01485 0.007964 33 640: 18%|█▊ | 8/44 [00:06<00:34, 1.05it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04478 0.01541 0.008217 51 640: 20%|██ | 9/44 [00:07<00:35, 1.01s/it]/content/yolov5/train.py:412 5/9 4.38G 0.04471 0.01581 0.007946 52 640: 23%|██▎ | 10/44 [00:07<00:26, 1.28it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04483 0.01602 0.007911 49 640: 25%|██▌ | 11/44 [00:08<00:29, 1.12it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04492 0.01576 0.007863 36 640: 27%|██▋ | 12/44 [00:09<00:23, 1.39it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04476 0.01569 0.007758 41 640: 30%|██▉ | 13/44 [00:10<00:25, 1.22it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04464 0.01542 0.007632 35 640: 32%|███▏ | 14/44 [00:10<00:19, 1.54it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04457 0.01545 0.007611 45 640: 34%|███▍ | 15/44 [00:11<00:22, 1.28it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04422 0.01531 0.007479 34 640: 36%|███▋ | 16/44 [00:12<00:20, 1.38it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04395 0.01528 0.007317 41 640: 39%|███▊ | 17/44 [00:12<00:20, 1.32it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04391 0.01521 0.007326 38 640: 41%|████ | 18/44 [00:13<00:18, 1.40it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04388 0.0154 0.007345 51 640: 43%|████▎ | 19/44 [00:14<00:18, 1.34it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04369 0.01537 0.007252 42 640: 45%|████▌ | 20/44 [00:15<00:17, 1.36it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04382 0.0152 0.007145 34 640: 48%|████▊ | 21/44 [00:15<00:16, 1.39it/s]/content/yolov5/train.py:412 5/9 4.38G 0.0439 0.01507 0.007041 38 640: 50%|█████ | 22/44 [00:16<00:17, 1.25it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04406 0.01502 0.007193 40 640: 52%|█████▏ | 23/44 [00:17<00:19, 1.10it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04424 0.01504 0.00726 44 640: 55%|█████▍ | 24/44 [00:19<00:22, 1.11s/it]/content/yolov5/train.py:412 5/9 4.38G 0.04414 0.01509 0.007203 47 640: 57%|█████▋ | 25/44 [00:20<00:19, 1.00s/it]/content/yolov5/train.py:412 5/9 4.38G 0.04399 0.01512 0.007241 44 640: 59%|█████▉ | 26/44 [00:22<00:22, 1.26s/it]/content/yolov5/train.py:412 5/9 4.38G 0.04394 0.01507 0.007239 39 640: 61%|██████▏ | 27/44 [00:22<00:19, 1.14s/it]/content/yolov5/train.py:412 5/9 4.38G 0.04387 0.01489 0.007108 33 640: 64%|██████▎ | 28/44 [00:24<00:21, 1.34s/it]/content/yolov5/train.py:412 5/9 4.38G 0.04377 0.01473 0.007103 30 640: 66%|██████▌ | 29/44 [00:25<00:17, 1.19s/it]/content/yolov5/train.py:412 5/9 4.38G 0.0438 0.01483 0.007053 49 640: 68%|██████▊ | 30/44 [00:26<00:17, 1.25s/it]/content/yolov5/train.py:412 5/9 4.38G 0.04375 0.01486 0.006975 45 640: 70%|███████ | 31/44 [00:27<00:12, 1.00it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04373 0.01486 0.006924 43 640: 73%|███████▎ | 32/44 [00:28<00:12, 1.06s/it]/content/yolov5/train.py:412 5/9 4.38G 0.04381 0.01487 0.006871 47 640: 75%|███████▌ | 33/44 [00:28<00:09, 1.21it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04384 0.01497 0.006869 52 640: 77%|███████▋ | 34/44 [00:30<00:09, 1.10it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04384 0.01495 0.006858 37 640: 80%|███████▉ | 35/44 [00:30<00:06, 1.39it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04399 0.01487 0.006832 34 640: 82%|████████▏ | 36/44 [00:31<00:06, 1.15it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04388 0.01502 0.006823 61 640: 84%|████████▍ | 37/44 [00:31<00:04, 1.43it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04382 0.01498 0.006786 41 640: 86%|████████▋ | 38/44 [00:32<00:05, 1.20it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04371 0.015 0.006765 46 640: 89%|████████▊ | 39/44 [00:33<00:03, 1.50it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04347 0.01492 0.006716 37 640: 91%|█████████ | 40/44 [00:34<00:03, 1.20it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04348 0.0149 0.006705 46 640: 93%|█████████▎| 41/44 [00:34<00:01, 1.54it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04344 0.01491 0.006645 44 640: 95%|█████████▌| 42/44 [00:35<00:01, 1.26it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04349 0.0149 0.006618 48 640: 98%|█████████▊| 43/44 [00:36<00:00, 1.49it/s]/content/yolov5/train.py:412 5/9 4.38G 0.04357 0.01487 0.006696 32 640: 100%|██████████| 44/44 [00:37<00:00, 1.18it/s] Class Images Instances P R mAP50 mAP50-95: 100%|██████████| 6/6 [00:07<00:00, 1.26s/it] all 176 252 0.862 0.766 0.842 0.436 Epoch GPU_mem box_loss obj_loss cls_loss Instances Size 0%| | 0/44 [00:00<?, ?it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03947 0.0135 0.006244 41 640: 2%|▏ | 1/44 [00:00<00:14, 3.01it/s]/content/yolov5/train.py:412 6/9 4.38G 0.04004 0.01379 0.005853 42 640: 5%|▍ | 2/44 [00:00<00:12, 3.26it/s]/content/yolov5/train.py:412 6/9 4.38G 0.04066 0.01322 0.005969 35 640: 7%|▋ | 3/44 [00:00<00:12, 3.30it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03972 0.01298 0.005343 41 640: 9%|▉ | 4/44 [00:01<00:12, 3.22it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03987 0.01328 0.005489 44 640: 11%|█▏ | 5/44 [00:01<00:17, 2.24it/s]/content/yolov5/train.py:412 6/9 4.38G 0.04008 0.01345 0.005511 41 640: 14%|█▎ | 6/44 [00:02<00:16, 2.37it/s]/content/yolov5/train.py:412 6/9 4.38G 0.04028 0.01383 0.005829 45 640: 16%|█▌ | 7/44 [00:03<00:22, 1.63it/s]/content/yolov5/train.py:412 6/9 4.38G 0.04013 0.01349 0.005687 35 640: 18%|█▊ | 8/44 [00:03<00:20, 1.74it/s]/content/yolov5/train.py:412 6/9 4.38G 0.04 0.01349 0.005541 44 640: 20%|██ | 9/44 [00:04<00:24, 1.44it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03975 0.01343 0.005396 39 640: 23%|██▎ | 10/44 [00:05<00:22, 1.52it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03935 0.01327 0.005385 40 640: 25%|██▌ | 11/44 [00:06<00:23, 1.42it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03909 0.0128 0.005398 24 640: 27%|██▋ | 12/44 [00:06<00:20, 1.53it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03957 0.01275 0.005439 35 640: 30%|██▉ | 13/44 [00:07<00:23, 1.34it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03969 0.01274 0.005548 41 640: 32%|███▏ | 14/44 [00:08<00:19, 1.54it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03999 0.01276 0.005498 36 640: 34%|███▍ | 15/44 [00:09<00:21, 1.33it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03992 0.01272 0.005412 37 640: 36%|███▋ | 16/44 [00:09<00:19, 1.47it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03993 0.0126 0.005425 36 640: 39%|███▊ | 17/44 [00:10<00:20, 1.32it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03965 0.0127 0.005405 47 640: 41%|████ | 18/44 [00:11<00:21, 1.20it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03927 0.01286 0.00533 51 640: 43%|████▎ | 19/44 [00:12<00:23, 1.06it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03911 0.01297 0.005378 45 640: 45%|████▌ | 20/44 [00:13<00:23, 1.00it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03917 0.01296 0.005397 41 640: 48%|████▊ | 21/44 [00:15<00:24, 1.06s/it]/content/yolov5/train.py:412 6/9 4.38G 0.03913 0.01283 0.005355 30 640: 50%|█████ | 22/44 [00:16<00:24, 1.13s/it]/content/yolov5/train.py:412 6/9 4.38G 0.03913 0.01289 0.00538 44 640: 52%|█████▏ | 23/44 [00:17<00:23, 1.10s/it]/content/yolov5/train.py:412 6/9 4.38G 0.03906 0.01285 0.005329 39 640: 55%|█████▍ | 24/44 [00:19<00:26, 1.31s/it]/content/yolov5/train.py:412 6/9 4.38G 0.03885 0.01277 0.005316 37 640: 57%|█████▋ | 25/44 [00:20<00:22, 1.17s/it]/content/yolov5/train.py:412 6/9 4.38G 0.03878 0.01282 0.005279 46 640: 59%|█████▉ | 26/44 [00:21<00:22, 1.24s/it]/content/yolov5/train.py:412 6/9 4.38G 0.0387 0.01285 0.005348 41 640: 61%|██████▏ | 27/44 [00:21<00:17, 1.01s/it]/content/yolov5/train.py:412 6/9 4.38G 0.03889 0.01289 0.005355 43 640: 64%|██████▎ | 28/44 [00:22<00:16, 1.02s/it]/content/yolov5/train.py:412 6/9 4.38G 0.03886 0.01305 0.005343 55 640: 66%|██████▌ | 29/44 [00:23<00:12, 1.18it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03879 0.01301 0.005267 38 640: 68%|██████▊ | 30/44 [00:24<00:12, 1.12it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03872 0.013 0.005376 39 640: 70%|███████ | 31/44 [00:24<00:09, 1.32it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03883 0.01294 0.005346 38 640: 73%|███████▎ | 32/44 [00:25<00:09, 1.21it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03885 0.01293 0.005339 41 640: 75%|███████▌ | 33/44 [00:26<00:08, 1.34it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03886 0.01287 0.005344 38 640: 77%|███████▋ | 34/44 [00:27<00:07, 1.26it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03881 0.01283 0.005341 39 640: 80%|███████▉ | 35/44 [00:27<00:06, 1.37it/s]/content/yolov5/train.py:412 6/9 4.38G 0.0388 0.01278 0.005301 33 640: 82%|████████▏ | 36/44 [00:28<00:06, 1.30it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03876 0.01279 0.005288 40 640: 84%|████████▍ | 37/44 [00:29<00:04, 1.50it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03864 0.01275 0.005381 31 640: 86%|████████▋ | 38/44 [00:30<00:04, 1.24it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03855 0.01272 0.005327 40 640: 89%|████████▊ | 39/44 [00:30<00:03, 1.52it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03837 0.01263 0.005292 30 640: 91%|█████████ | 40/44 [00:32<00:03, 1.06it/s]/content/yolov5/train.py:412 6/9 4.38G 0.0384 0.0126 0.005243 37 640: 93%|█████████▎| 41/44 [00:32<00:02, 1.33it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03834 0.0126 0.005258 38 640: 95%|█████████▌| 42/44 [00:34<00:02, 1.21s/it]/content/yolov5/train.py:412 6/9 4.38G 0.0383 0.01263 0.005223 44 640: 98%|█████████▊| 43/44 [00:35<00:00, 1.05it/s]/content/yolov5/train.py:412 6/9 4.38G 0.03828 0.01265 0.005191 34 640: 100%|██████████| 44/44 [00:36<00:00, 1.20it/s] Class Images Instances P R mAP50 mAP50-95: 100%|██████████| 6/6 [00:06<00:00, 1.08s/it] all 176 252 0.798 0.779 0.835 0.469 Epoch GPU_mem box_loss obj_loss cls_loss Instances Size 0%| | 0/44 [00:00<?, ?it/s]/content/yolov5/train.py:412 7/9 4.38G 0.04131 0.01195 0.006642 34 640: 2%|▏ | 1/44 [00:00<00:10, 4.30it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03805 0.01364 0.005645 49 640: 5%|▍ | 2/44 [00:00<00:11, 3.77it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03904 0.01422 0.005769 47 640: 7%|▋ | 3/44 [00:00<00:11, 3.55it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03873 0.01352 0.005345 40 640: 9%|▉ | 4/44 [00:01<00:12, 3.32it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03726 0.01347 0.004992 45 640: 11%|█▏ | 5/44 [00:01<00:16, 2.35it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03585 0.01289 0.004685 33 640: 14%|█▎ | 6/44 [00:02<00:16, 2.35it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03574 0.01279 0.004521 40 640: 16%|█▌ | 7/44 [00:03<00:24, 1.53it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03533 0.01279 0.004448 44 640: 18%|█▊ | 8/44 [00:03<00:21, 1.70it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03527 0.01265 0.004346 37 640: 20%|██ | 9/44 [00:04<00:25, 1.38it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03537 0.01256 0.00458 37 640: 23%|██▎ | 10/44 [00:05<00:19, 1.72it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03555 0.01256 0.004512 42 640: 25%|██▌ | 11/44 [00:06<00:26, 1.24it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03548 0.01259 0.004415 43 640: 27%|██▋ | 12/44 [00:06<00:21, 1.48it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03551 0.01281 0.004516 46 640: 30%|██▉ | 13/44 [00:07<00:24, 1.24it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03532 0.01276 0.00469 40 640: 32%|███▏ | 14/44 [00:08<00:19, 1.53it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03487 0.01259 0.004647 34 640: 34%|███▍ | 15/44 [00:10<00:31, 1.08s/it]/content/yolov5/train.py:412 7/9 4.38G 0.03465 0.0125 0.004541 41 640: 36%|███▋ | 16/44 [00:10<00:24, 1.14it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03473 0.01261 0.004642 46 640: 39%|███▊ | 17/44 [00:12<00:34, 1.27s/it]/content/yolov5/train.py:412 7/9 4.38G 0.03482 0.01251 0.004658 36 640: 41%|████ | 18/44 [00:13<00:26, 1.01s/it]/content/yolov5/train.py:412 7/9 4.38G 0.03478 0.01264 0.004628 50 640: 43%|████▎ | 19/44 [00:15<00:35, 1.41s/it]/content/yolov5/train.py:412 7/9 4.38G 0.03483 0.01252 0.004569 34 640: 45%|████▌ | 20/44 [00:16<00:26, 1.12s/it]/content/yolov5/train.py:412 7/9 4.38G 0.03467 0.01244 0.004587 40 640: 48%|████▊ | 21/44 [00:18<00:33, 1.44s/it]/content/yolov5/train.py:412 7/9 4.38G 0.0343 0.01246 0.004558 43 640: 50%|█████ | 22/44 [00:18<00:24, 1.10s/it]/content/yolov5/train.py:412 7/9 4.38G 0.034 0.0124 0.004513 37 640: 52%|█████▏ | 23/44 [00:19<00:24, 1.19s/it]/content/yolov5/train.py:412 7/9 4.38G 0.034 0.01237 0.004439 39 640: 55%|█████▍ | 24/44 [00:20<00:18, 1.08it/s]/content/yolov5/train.py:412 7/9 4.38G 0.034 0.01235 0.00438 41 640: 57%|█████▋ | 25/44 [00:21<00:18, 1.01it/s]/content/yolov5/train.py:412 7/9 4.38G 0.0341 0.01237 0.004428 44 640: 59%|█████▉ | 26/44 [00:21<00:14, 1.26it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03422 0.01258 0.004473 59 640: 61%|██████▏ | 27/44 [00:22<00:15, 1.12it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03429 0.01252 0.004504 35 640: 64%|██████▎ | 28/44 [00:23<00:11, 1.39it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03429 0.0124 0.0045 32 640: 66%|██████▌ | 29/44 [00:24<00:12, 1.20it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03415 0.01243 0.004485 41 640: 68%|██████▊ | 30/44 [00:24<00:09, 1.50it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03405 0.01249 0.004462 48 640: 70%|███████ | 31/44 [00:25<00:10, 1.22it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03403 0.01263 0.004478 61 640: 73%|███████▎ | 32/44 [00:26<00:08, 1.47it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03409 0.01266 0.004455 43 640: 75%|███████▌ | 33/44 [00:27<00:09, 1.22it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03407 0.01259 0.004427 36 640: 77%|███████▋ | 34/44 [00:27<00:06, 1.53it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03411 0.01265 0.004389 52 640: 80%|███████▉ | 35/44 [00:28<00:07, 1.23it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03418 0.01257 0.004474 31 640: 82%|████████▏ | 36/44 [00:29<00:05, 1.48it/s]/content/yolov5/train.py:412 7/9 4.38G 0.0342 0.01252 0.004456 37 640: 84%|████████▍ | 37/44 [00:30<00:06, 1.03it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03412 0.01253 0.004447 44 640: 86%|████████▋ | 38/44 [00:31<00:04, 1.28it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03406 0.01251 0.004462 41 640: 89%|████████▊ | 39/44 [00:33<00:06, 1.22s/it]/content/yolov5/train.py:412 7/9 4.38G 0.03398 0.0125 0.004514 39 640: 91%|█████████ | 40/44 [00:33<00:03, 1.01it/s]/content/yolov5/train.py:412 7/9 4.38G 0.03402 0.01254 0.004508 45 640: 93%|█████████▎| 41/44 [00:35<00:04, 1.37s/it]/content/yolov5/train.py:412 7/9 4.38G 0.03415 0.01255 0.004505 42 640: 95%|█████████▌| 42/44 [00:36<00:02, 1.07s/it]/content/yolov5/train.py:412 7/9 4.38G 0.03415 0.01242 0.004488 24 640: 98%|█████████▊| 43/44 [00:38<00:01, 1.43s/it]/content/yolov5/train.py:412 7/9 4.38G 0.03417 0.01246 0.004553 40 640: 100%|██████████| 44/44 [00:39<00:00, 1.13it/s] Class Images Instances P R mAP50 mAP50-95: 100%|██████████| 6/6 [00:04<00:00, 1.23it/s] all 176 252 0.9 0.863 0.879 0.534 Epoch GPU_mem box_loss obj_loss cls_loss Instances Size 0%| | 0/44 [00:00<?, ?it/s]/content/yolov5/train.py:412 8/9 4.38G 0.03421 0.01243 0.00498 44 640: 2%|▏ | 1/44 [00:00<00:10, 3.97it/s]/content/yolov5/train.py:412 8/9 4.38G 0.03175 0.01195 0.004326 38 640: 5%|▍ | 2/44 [00:00<00:11, 3.68it/s]/content/yolov5/train.py:412 8/9 4.38G 0.03204 0.01253 0.003963 44 640: 7%|▋ | 3/44 [00:00<00:11, 3.50it/s]/content/yolov5/train.py:412 8/9 4.38G 0.032 0.01244 0.003842 42 640: 9%|▉ | 4/44 [00:01<00:12, 3.26it/s]/content/yolov5/train.py:412 8/9 4.38G 0.03159 0.01256 0.004193 41 640: 11%|█▏ | 5/44 [00:01<00:16, 2.35it/s]/content/yolov5/train.py:412 8/9 4.38G 0.03091 0.0126 0.004326 47 640: 14%|█▎ | 6/44 [00:02<00:16, 2.29it/s]/content/yolov5/train.py:412 8/9 4.38G 0.03107 0.01259 0.004293 46 640: 16%|█▌ | 7/44 [00:03<00:23, 1.59it/s]/content/yolov5/train.py:412 8/9 4.38G 0.03042 0.01243 0.004186 39 640: 18%|█▊ | 8/44 [00:03<00:20, 1.73it/s]/content/yolov5/train.py:412 8/9 4.38G 0.0307 0.01227 0.004201 40 640: 20%|██ | 9/44 [00:04<00:24, 1.44it/s]/content/yolov5/train.py:412 8/9 4.38G 0.03031 0.01221 0.004083 40 640: 23%|██▎ | 10/44 [00:05<00:22, 1.50it/s]/content/yolov5/train.py:412 8/9 4.38G 0.03021 0.01208 0.00399 35 640: 25%|██▌ | 11/44 [00:06<00:27, 1.20it/s]/content/yolov5/train.py:412 8/9 4.38G 0.03014 0.01189 0.004279 37 640: 27%|██▋ | 12/44 [00:07<00:30, 1.06it/s]/content/yolov5/train.py:412 8/9 4.38G 0.03022 0.01153 0.004441 27 640: 30%|██▉ | 13/44 [00:08<00:31, 1.01s/it]/content/yolov5/train.py:412 8/9 4.38G 0.03015 0.01161 0.004347 47 640: 32%|███▏ | 14/44 [00:10<00:32, 1.08s/it]/content/yolov5/train.py:412 8/9 4.38G 0.0302 0.01167 0.004307 43 640: 34%|███▍ | 15/44 [00:11<00:32, 1.11s/it]/content/yolov5/train.py:412 8/9 4.38G 0.02997 0.01153 0.004285 33 640: 36%|███▋ | 16/44 [00:12<00:33, 1.19s/it]/content/yolov5/train.py:412 8/9 4.38G 0.02985 0.01144 0.004184 34 640: 39%|███▊ | 17/44 [00:13<00:31, 1.17s/it]/content/yolov5/train.py:412 8/9 4.38G 0.02992 0.01149 0.004329 43 640: 41%|████ | 18/44 [00:15<00:30, 1.19s/it]/content/yolov5/train.py:412 8/9 4.38G 0.02991 0.01143 0.004291 35 640: 43%|████▎ | 19/44 [00:15<00:26, 1.06s/it]/content/yolov5/train.py:412 8/9 4.38G 0.02989 0.01134 0.004193 36 640: 45%|████▌ | 20/44 [00:16<00:23, 1.02it/s]/content/yolov5/train.py:412 8/9 4.38G 0.02996 0.01128 0.00413 38 640: 48%|████▊ | 21/44 [00:17<00:20, 1.15it/s]/content/yolov5/train.py:412 8/9 4.38G 0.0299 0.01118 0.004179 29 640: 50%|█████ | 22/44 [00:18<00:19, 1.15it/s]/content/yolov5/train.py:412 8/9 4.38G 0.02989 0.01099 0.004106 21 640: 52%|█████▏ | 23/44 [00:18<00:17, 1.24it/s]/content/yolov5/train.py:412 8/9 4.38G 0.02993 0.01104 0.004155 44 640: 55%|█████▍ | 24/44 [00:19<00:16, 1.21it/s]/content/yolov5/train.py:412 8/9 4.38G 0.02994 0.01098 0.004174 38 640: 57%|█████▋ | 25/44 [00:20<00:14, 1.27it/s]/content/yolov5/train.py:412 8/9 4.38G 0.0298 0.01105 0.00412 47 640: 59%|█████▉ | 26/44 [00:21<00:14, 1.21it/s]/content/yolov5/train.py:412 8/9 4.38G 0.02972 0.01106 0.004082 40 640: 61%|██████▏ | 27/44 [00:21<00:12, 1.37it/s]/content/yolov5/train.py:412 8/9 4.38G 0.02972 0.01103 0.004036 33 640: 64%|██████▎ | 28/44 [00:22<00:12, 1.25it/s]/content/yolov5/train.py:412 8/9 4.38G 0.02976 0.01122 0.00402 54 640: 66%|██████▌ | 29/44 [00:23<00:10, 1.43it/s]/content/yolov5/train.py:412 8/9 4.38G 0.02975 0.01121 0.003975 40 640: 68%|██████▊ | 30/44 [00:24<00:11, 1.26it/s]/content/yolov5/train.py:412 8/9 4.38G 0.02976 0.01136 0.003994 59 640: 70%|███████ | 31/44 [00:24<00:08, 1.47it/s]/content/yolov5/train.py:412 8/9 4.38G 0.02975 0.0114 0.003994 46 640: 73%|███████▎ | 32/44 [00:26<00:11, 1.04it/s]/content/yolov5/train.py:412 8/9 4.38G 0.02962 0.0114 0.003966 43 640: 75%|███████▌ | 33/44 [00:26<00:09, 1.14it/s]/content/yolov5/train.py:412 8/9 4.38G 0.02964 0.0115 0.003933 55 640: 77%|███████▋ | 34/44 [00:28<00:10, 1.08s/it]/content/yolov5/train.py:412 8/9 4.38G 0.02975 0.01147 0.003995 31 640: 80%|███████▉ | 35/44 [00:29<00:09, 1.10s/it]/content/yolov5/train.py:412 8/9 4.38G 0.02972 0.01146 0.003957 41 640: 82%|████████▏ | 36/44 [00:31<00:09, 1.21s/it]/content/yolov5/train.py:412 8/9 4.38G 0.02974 0.01153 0.003951 48 640: 84%|████████▍ | 37/44 [00:32<00:08, 1.22s/it]/content/yolov5/train.py:412 8/9 4.38G 0.02966 0.01155 0.003927 45 640: 86%|████████▋ | 38/44 [00:33<00:07, 1.24s/it]/content/yolov5/train.py:412 8/9 4.38G 0.0297 0.01157 0.003939 47 640: 89%|████████▊ | 39/44 [00:34<00:06, 1.28s/it]/content/yolov5/train.py:412 8/9 4.38G 0.02971 0.01158 0.003968 45 640: 91%|█████████ | 40/44 [00:35<00:04, 1.19s/it]/content/yolov5/train.py:412 8/9 4.38G 0.02971 0.01157 0.003947 41 640: 93%|█████████▎| 41/44 [00:36<00:03, 1.05s/it]/content/yolov5/train.py:412 8/9 4.38G 0.0297 0.01159 0.003923 44 640: 95%|█████████▌| 42/44 [00:37<00:01, 1.05it/s]/content/yolov5/train.py:412 8/9 4.38G 0.02963 0.01163 0.003901 51 640: 98%|█████████▊| 43/44 [00:38<00:00, 1.12it/s]/content/yolov5/train.py:412 8/9 4.38G 0.02969 0.01162 0.003919 32 640: 100%|██████████| 44/44 [00:38<00:00, 1.14it/s] Class Images Instances P R mAP50 mAP50-95: 100%|██████████| 6/6 [00:04<00:00, 1.29it/s] all 176 252 0.906 0.864 0.884 0.576 Epoch GPU_mem box_loss obj_loss cls_loss Instances Size 0%| | 0/44 [00:00<?, ?it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02567 0.009438 0.002835 35 640: 2%|▏ | 1/44 [00:00<00:10, 4.05it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02804 0.01074 0.003034 45 640: 5%|▍ | 2/44 [00:00<00:11, 3.67it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02835 0.01077 0.003443 41 640: 7%|▋ | 3/44 [00:00<00:11, 3.57it/s]/content/yolov5/train.py:412 9/9 4.38G 0.0289 0.01037 0.003312 33 640: 9%|▉ | 4/44 [00:01<00:12, 3.11it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02878 0.01051 0.003199 39 640: 11%|█▏ | 5/44 [00:02<00:19, 1.98it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02821 0.01047 0.003109 43 640: 14%|█▎ | 6/44 [00:02<00:24, 1.57it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02808 0.01048 0.003694 34 640: 16%|█▌ | 7/44 [00:04<00:33, 1.09it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02778 0.01014 0.003604 28 640: 18%|█▊ | 8/44 [00:05<00:33, 1.08it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02804 0.01046 0.003522 44 640: 20%|██ | 9/44 [00:07<00:41, 1.20s/it]/content/yolov5/train.py:412 9/9 4.38G 0.02794 0.01043 0.003425 41 640: 23%|██▎ | 10/44 [00:07<00:34, 1.01s/it]/content/yolov5/train.py:412 9/9 4.38G 0.02779 0.01059 0.003348 46 640: 25%|██▌ | 11/44 [00:09<00:42, 1.30s/it]/content/yolov5/train.py:412 9/9 4.38G 0.02785 0.01077 0.003339 49 640: 27%|██▋ | 12/44 [00:10<00:36, 1.14s/it]/content/yolov5/train.py:412 9/9 4.38G 0.02806 0.01095 0.003362 52 640: 30%|██▉ | 13/44 [00:12<00:42, 1.36s/it]/content/yolov5/train.py:412 9/9 4.38G 0.02797 0.0111 0.003386 44 640: 32%|███▏ | 14/44 [00:12<00:33, 1.12s/it]/content/yolov5/train.py:412 9/9 4.38G 0.02801 0.01109 0.003476 40 640: 34%|███▍ | 15/44 [00:14<00:32, 1.13s/it]/content/yolov5/train.py:412 9/9 4.38G 0.02807 0.01097 0.00341 34 640: 36%|███▋ | 16/44 [00:14<00:24, 1.15it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02809 0.01111 0.003541 50 640: 39%|███▊ | 17/44 [00:15<00:26, 1.03it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02793 0.01103 0.003483 35 640: 41%|████ | 18/44 [00:15<00:19, 1.31it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02786 0.01107 0.003528 45 640: 43%|████▎ | 19/44 [00:17<00:22, 1.12it/s]/content/yolov5/train.py:412 9/9 4.38G 0.0278 0.01109 0.003599 44 640: 45%|████▌ | 20/44 [00:17<00:16, 1.42it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02796 0.01125 0.003618 52 640: 48%|████▊ | 21/44 [00:18<00:18, 1.22it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02788 0.0111 0.003641 30 640: 50%|█████ | 22/44 [00:18<00:14, 1.48it/s]/content/yolov5/train.py:412 9/9 4.38G 0.0278 0.01113 0.003581 46 640: 52%|█████▏ | 23/44 [00:19<00:17, 1.23it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02773 0.01103 0.003554 34 640: 55%|█████▍ | 24/44 [00:20<00:13, 1.49it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02763 0.01097 0.003562 35 640: 57%|█████▋ | 25/44 [00:21<00:15, 1.21it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02759 0.0111 0.003549 59 640: 59%|█████▉ | 26/44 [00:21<00:11, 1.52it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02753 0.0111 0.003641 37 640: 61%|██████▏ | 27/44 [00:22<00:14, 1.20it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02742 0.01122 0.003615 54 640: 64%|██████▎ | 28/44 [00:23<00:11, 1.41it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02738 0.01122 0.003586 44 640: 66%|██████▌ | 29/44 [00:25<00:15, 1.03s/it]/content/yolov5/train.py:412 9/9 4.38G 0.0272 0.01111 0.003538 29 640: 68%|██████▊ | 30/44 [00:25<00:11, 1.20it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02726 0.01111 0.003516 42 640: 70%|███████ | 31/44 [00:27<00:14, 1.08s/it]/content/yolov5/train.py:412 9/9 4.38G 0.0273 0.01108 0.003508 38 640: 73%|███████▎ | 32/44 [00:28<00:12, 1.02s/it]/content/yolov5/train.py:412 9/9 4.38G 0.02736 0.0111 0.003482 46 640: 75%|███████▌ | 33/44 [00:29<00:13, 1.24s/it]/content/yolov5/train.py:412 9/9 4.38G 0.02721 0.01105 0.003502 36 640: 77%|███████▋ | 34/44 [00:30<00:10, 1.07s/it]/content/yolov5/train.py:412 9/9 4.38G 0.02722 0.01106 0.003519 45 640: 80%|███████▉ | 35/44 [00:32<00:11, 1.26s/it]/content/yolov5/train.py:412 9/9 4.38G 0.02723 0.01114 0.003505 52 640: 82%|████████▏ | 36/44 [00:33<00:09, 1.15s/it]/content/yolov5/train.py:412 9/9 4.38G 0.02715 0.01109 0.003494 36 640: 84%|████████▍ | 37/44 [00:33<00:07, 1.03s/it]/content/yolov5/train.py:412 9/9 4.38G 0.02704 0.01108 0.003454 43 640: 86%|████████▋ | 38/44 [00:34<00:05, 1.11it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02701 0.01109 0.003431 37 640: 89%|████████▊ | 39/44 [00:35<00:04, 1.09it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02708 0.0111 0.0035 47 640: 91%|█████████ | 40/44 [00:35<00:03, 1.24it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02702 0.01108 0.003545 35 640: 93%|█████████▎| 41/44 [00:37<00:02, 1.09it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02697 0.01107 0.00353 43 640: 95%|█████████▌| 42/44 [00:37<00:01, 1.29it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02695 0.01103 0.003496 34 640: 98%|█████████▊| 43/44 [00:38<00:00, 1.22it/s]/content/yolov5/train.py:412 9/9 4.38G 0.02705 0.01113 0.003512 48 640: 100%|██████████| 44/44 [00:38<00:00, 1.13it/s] Class Images Instances P R mAP50 mAP50-95: 100%|██████████| 6/6 [00:05<00:00, 1.13it/s] all 176 252 0.929 0.862 0.896 0.601 10 epochs completed in 0.127 hours. Optimizer stripped from runs/train/exp/weights/last.pt, 14.4MB Optimizer stripped from runs/train/exp/weights/best.pt, 14.4MB Validating runs/train/exp/weights/best.pt... Fusing layers... Model summary: 157 layers, 7020913 parameters, 0 gradients, 15.8 GFLOPs Class Images Instances P R mAP50 mAP50-95: 100%|██████████| 6/6 [00:07<00:00, 1.20s/it] all 176 252 0.93 0.861 0.896 0.601 crosswalk 176 49 0.974 0.762 0.872 0.562 speedlimit 176 151 0.98 0.988 0.995 0.727 stop 176 26 0.858 0.927 0.948 0.665 trafficlight 176 26 0.908 0.769 0.769 0.451 Results saved to runs/train/exp YOLOv5 🚀 v7.0-378-g2f74455a Python-3.10.12 torch-2.5.0+cu121 CUDA:0 (Tesla T4, 15102MiB) Fusing layers... Model summary: 157 layers, 7020913 parameters, 0 gradients, 15.8 GFLOPs image 1/10 /content/test_images/road171.png: 640x480 1 crosswalk, 1 trafficlight, 8.6ms image 2/10 /content/test_images/road190.png: 640x480 2 crosswalks, 7.8ms image 3/10 /content/test_images/road297.png: 640x480 1 speedlimit, 8.1ms image 4/10 /content/test_images/road393.png: 640x480 1 speedlimit, 9.6ms image 5/10 /content/test_images/road445.png: 640x480 1 speedlimit, 13.6ms image 6/10 /content/test_images/road531.png: 640x480 3 crosswalks, 1 speedlimit, 8.0ms image 7/10 /content/test_images/road563.png: 640x480 1 crosswalk, 1 speedlimit, 8.2ms image 8/10 /content/test_images/road656.png: 640x480 1 crosswalk, 3 speedlimits, 8.1ms image 9/10 /content/test_images/road75.png: 416x640 1 stop, 38.5ms image 10/10 /content/test_images/road863.png: 640x480 1 speedlimit, 9.5ms Speed: 0.6ms pre-process, 12.0ms inference, 1.6ms NMS per image at shape (1, 3, 640, 640) Results saved to /content/output_images_yolo/detections 10 labels saved to /content/output_images_yolo/detections/labels
import locale
import os
import random
import shutil
import cv2
import numpy as np
import xml.etree.ElementTree as ET
from sklearn.preprocessing import LabelEncoder
import yaml
import sys
import glob
from yolov5.train import run as train_run
from yolov5.detect import run as detect_run
from google.colab.patches import cv2_imshow
def getpreferredencoding(do_setlocale=True):
return "UTF-8"
locale.getpreferredencoding = getpreferredencoding
annotations_path = '/content/annotations/'
images_path = '/content/images/'
train_images_path = '/content/images/train/'
val_images_path = '/content/images/val/'
train_labels_path = '/content/labels/train/'
val_labels_path = '/content/labels/val/'
test_images_path = '/content/test_images/'
output_images_path = '/content/output_images_yolo'
tt = '/content/output_images_yolo/results'
if not os.path.exists(output_images_path):
os.makedirs(output_images_path)
target_classes = ['traffic_light', 'stop_sign', 'road_sign']
def detect_and_save_images(test_images_path, output_images_path, weights_path):
detect_run(
source=test_images_path,
weights=weights_path,
imgsz=(640, 640),
conf_thres=0.6,
save_txt=True,
save_conf=True,
nosave=False,
project=output_images_path,
name='results',
exist_ok=True
)
print(f"YOLOv5 detection completed. Labeled images saved in {output_images_path}.")
if len(os.listdir(test_images_path)) == 0:
raise AssertionError(f"No images found in {test_images_path}. Make sure the directory is populated with images.")
weights_dir = max(glob.glob('runs/train/exp*/weights'), key=os.path.getmtime) if glob.glob('runs/train/exp*/weights') else None
best_weights_path = os.path.join(weights_dir, 'best.pt') if weights_dir else 'yolov5s.pt'
detect_and_save_images(test_images_path, output_images_path, best_weights_path)
def display_labeled_images(output_images_path, target_classes):
result_path = os.path.join(output_images_path, 'results')
output_files = os.listdir(result_path)
class_names = ['traffic_light', 'stop_sign', 'road_sign']
class_ids = {name: i for i, name in enumerate(class_names)}
for output_file in output_files:
if output_file.endswith(('.jpg', '.png')):
img = cv2.imread(os.path.join(result_path, output_file))
label_file = output_file.replace('.jpg', '.txt').replace('.png', '.txt')
label_file_path = os.path.join(result_path, label_file)
if os.path.exists(label_file_path):
with open(label_file_path, 'r') as f:
lines = f.readlines()
for line in lines:
class_id, x_center, y_center, bbox_width, bbox_height = map(float, line.strip().split())
if class_id in [class_ids[name] for name in target_classes]:
h, w, _ = img.shape
xmin = int((x_center - bbox_width / 2) * w)
ymin = int((y_center - bbox_height / 2) * h)
xmax = int((x_center + bbox_width / 2) * w)
ymax = int((y_center + bbox_height / 2) * h)
label_text = class_names[int(class_id)]
cv2.rectangle(img, (xmin, ymin), (xmax, ymax), (0, 255, 0), 2)
cv2.putText(img, label_text, (xmin, ymin - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.6, (0, 0, 255), 2)
cv2_imshow(img)
display_labeled_images(output_images_path, target_classes)
import matplotlib.pyplot as plt
output_images_path = '/content/yolov5/runs/train/exp'
%matplotlib inline
def display_output_images(output_images_path):
image_files = [f for f in os.listdir(output_images_path) if f.endswith(('.png', '.jpg', '.jpeg'))]
for image_file in image_files:
img = cv2.imread(os.path.join(output_images_path, image_file))
if img is not None:
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img_rgb)
plt.title(image_file)
plt.axis('off')
plt.show()
else:
print(f"Error loading {image_file}")
display_output_images(output_images_path)
YOLOv5 🚀 v7.0-378-g2f74455a Python-3.10.12 torch-2.5.0+cu121 CUDA:0 (Tesla T4, 15102MiB)
Fusing layers...
Model summary: 157 layers, 7020913 parameters, 0 gradients, 15.8 GFLOPs
image 1/10 /content/test_images/road171.png: 640x480 1 crosswalk, 9.9ms
image 2/10 /content/test_images/road190.png: 640x480 1 crosswalk, 10.6ms
image 3/10 /content/test_images/road297.png: 640x480 1 speedlimit, 10.6ms
image 4/10 /content/test_images/road393.png: 640x480 1 speedlimit, 11.3ms
image 5/10 /content/test_images/road445.png: 640x480 1 speedlimit, 11.5ms
image 6/10 /content/test_images/road531.png: 640x480 1 speedlimit, 10.0ms
image 7/10 /content/test_images/road563.png: 640x480 1 crosswalk, 1 speedlimit, 10.4ms
image 8/10 /content/test_images/road656.png: 640x480 1 crosswalk, 2 speedlimits, 10.1ms
image 9/10 /content/test_images/road75.png: 416x640 1 stop, 11.1ms
image 10/10 /content/test_images/road863.png: 640x480 1 speedlimit, 11.0ms
Speed: 0.7ms pre-process, 10.6ms inference, 2.5ms NMS per image at shape (1, 3, 640, 640)
Results saved to /content/output_images_yolo/results
10 labels saved to /content/output_images_yolo/results/labels
YOLOv5 detection completed. Labeled images saved in /content/output_images_yolo.
| Feature | CNN (Convolutional Neural Network) | YOLO (You Only Look Once) |
|---|---|---|
| Architecture | Utilizes a traditional CNN structure for image classification | Employs a single neural network to detect multiple objects in real time |
| Real-time Performance | Generally slower, suitable for offline image classification tasks | Designed for high efficiency, enabling real-time object detection |
| Accuracy | Good accuracy in detecting and classifying individual road signs | High accuracy for detecting multiple road signs simultaneously |
| Output | Outputs class labels for individual road signs | Outputs bounding boxes and class labels for multiple detected road signs in a single pass |
| Data Processing | Requires separate handling and training for each image | Processes entire images in one go, streamlining detection |
| Training Difficulty | May require more tuning and a longer training time due to individual image handling | Generally simpler and faster training process with the right configuration |
| Application Scenarios | Best for tasks needing high precision, such as detailed classification | Ideal for real-time applications like traffic monitoring and automated surveillance |
| Implementation Complexity | Easier to implement but may require extensive data preprocessing | More complex to set up initially but efficient for real-time applications |